您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在python Flask框架中发送zip文件?

如何在python Flask框架中发送zip文件?

BytesIO()需要传递 字节数据 ,但ZipFile()对象不是字节数据;您实际上在 硬盘上 创建了一个文件

您可以ZipFile()使用BytesIO() 作为基础 在内存中创建一个

memory_file = BytesIO()
with zipfile.ZipFile(memory_file, 'w') as zf:
    files = result['files']
    for individualFile in files:
        data = zipfile.ZipInfo(individualFile['fileName'])
        data.date_time = time.localtime(time.time())[:6]
        data.compress_type = zipfile.ZIP_DEFLATED
        zf.writestr(data, individualFile['fileData'])
memory_file.seek(0)
return send_file(memory_file, attachment_filename='capsule.zip', as_attachment=True)

with语句确保在ZipFile()完成添加条目后,该对象已正确关闭,从而使该对象将所需的尾部写入内存文件对象。该memory_file.seek(0)电话是需要“倒带”文件对象回到开始的读写位置。

Python 2022/1/1 18:34:00 有206人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶