如何按文件构建zip和tar归档文件并将其流式传输到客户端?

时间:2012-09-10 16:57:45

标签: python zip wsgi zipfile

据我所知,在将它们发送到浏览器时,可以“动态”构建zip / tar档案;一个发送标题然后压缩每个文件并将这些部分流式传输到浏览器,这有助于在服务器内存有限时构建大型存档。

这是否可以通过WSGI实现?

2 个答案:

答案 0 :(得分:0)

至少在Werkzeug,documentation

  

响应可以是任何类型的可迭代或字符串。如果它是一个字符串它   被认为是一个可迭代的一个项目,即传递的字符串。

因此,如果您可以构建一个生成器或其他类型的迭代器来以块的形式提供数据,那么它将被连接在一起并作为一个文件提供。 (注意:您可能还希望将direct_passthrough标志传递给Response对象以通过Werkzeug执行此操作。)

如果你不能使用Werkzeug,你可以开始调查Werkzeug是如何做到的。

答案 1 :(得分:0)