我正在创建一个要在 Flask 中下载的 zip 文件,该文件在使用 send_file()
函数时可以完美运行。但是当我将zip的原始数据保存到数据库时,打开时返回的zip文件是空的。
filename = 'placeholder'
# Returns bytes data of pdf files in a list
files = create_pdfs(creds, spreadsheet_id, path)
memory_file = io.BytesIO()
with zipfile.ZipFile(memory_file, 'w') as zf:
for i, individualFile in enumerate(files):
zf.writestr(filename+f'_{i+1}.pdf', individualFile.getvalue())
memory_file.seek(0)
# When using send_file, the files appear as expected
# return send_file(memory_file, attachment_filename='capsule.zip', as_attachment=True)
r = init_redis()
filename = f'{current_user.email}_zip.zip'
obj = memory_file.getvalue().decode('utf-8', errors='ignore')
to_save = json.dumps(obj)
r.set(filename, to_save)
# redirects to link to download zip file (zip folder is empty here)
return redirect(url_for('page.response'))