问题描述
我在尝试使用 Flask send_file 下载下载内存中的 ZIP-FILE 对象时遇到问题。我的 zip 存在于内存中并且充满了文本文档但是当我尝试使用此代码时 我得到的结果是:它像预期的那样下载,但它下载了一个空的 zip 文件!就好像什么都没有复制一样......我不知道如何解决这个问题。
@app.route('/downloads/',methods=['GET'])
def download():
from flask import send_file
import io
import zipfile
import time
FILEPATH = r"C:\Users\JD\Downloads\trydownload.zip"
fileobj = io.BytesIO()
with zipfile.ZipFile(fileobj,'w') as zip_file:
zip_info = zipfile.ZipInfo(FILEPATH)
zip_info.date_time = time.localtime(time.time())[:6]
zip_info.compress_type = zipfile.ZIP_DEFLATED
with open(FILEPATH,'rb') as fd:
zip_file.writestr(zip_info,fd.read())
fileobj.seek(0)
return send_file(fileobj,mimetype='zip',as_attachment=True,attachment_filename='%s.zip' % os.path.basename(FILEPATH))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)