【发布时间】:2019-05-03 00:46:13
【问题描述】:
我想让用户在文件尚未准备好时开始下载它。我不想将用户发送到某个页面说“等待 30 秒,正在准备文件”。我无法提前生成文件。我需要用户单击/发送表单,选择下载位置并开始下载。生成的文件将是 zip,所以我想,应该可以使用 zip 的前几个字节(始终相同)发送文件名,并且在生成文件之前不要确认 tcp 数据包已正确发送或类似然后在生成文件后发送其余的。
我该怎么做?有什么工具可以做到这一点。或者有什么更好的方法吗?更高级别的解决方案更好,C 不是我的强项。最好在 Python 中。谢谢。
正在生成的文件是 zip 文件,在它准备好之前还没有任何东西要发送。基本上根据输入,我生成一组文件(这需要几十秒),然后我将它们压缩并提供给用户。我的应用程序在 linux 上的 python 中,但我将使用哪个服务器并不重要。
【问题讨论】:
-
这实际上取决于您的服务器语言。这绝对是可能的,是的,但这太宽泛了。您只需要写入 TCP 缓冲区,因为压缩引擎提供了可用的字节,具体实现将根据您的设置而有很大差异。
-
文件是如何生成的?这是在什么平台上的?基本上你可以开始发送输出,客户端会等待。
-
文件正在由自定义脚本生成。