【发布时间】:2018-12-21 07:31:44
【问题描述】:
我的网络服务器上有一个文件夹结构,我想通过 Flask 将其用作压缩存档。
通过 Flask 发送文件非常简单:
return send_file(my_file,
attachment_filename=fileName,
as_attachment=True)
可以通过多种方式完成压缩,例如使用shutil.make_archive 或zipfile,但我不知道如何将整个目录压缩到内存中,然后在不将任何内容保存到磁盘的情况下发送它。 shutil.make_archive 似乎只能在磁盘上创建档案。在网上找到的zipfile 的例子主要是关于服务单个文件的。
我如何在一个方法中将它们绑定在一起,而不必将所有内容都保存到磁盘?最好使用BytesIO。
【问题讨论】:
-
任何有关如何改进此问题的反馈将不胜感激。我很难弄清楚这一点,并且有 3 票赞成,这似乎是一个必要的问题。
标签: python python-3.x flask zip