我正在尝试生成一个zip文件并将其存储在App Engine的Blobstore中,但目前从Blobstore中无法得到有效的zip文件。不确定问题是压缩、存储、检索还是下载方面的。
我已经根据以下问题的片段构建了代码。
在Blobstore中存储后,我通过Flask应用程序让用户进行下载。
下面是我尝试做的要点。
def zipit():
zipstream = StringIO.StringIO()
zfile = zipfile.ZipFile(file=zipstream, mode='w')
bytes = "lorem ipsum dolor sit amet"
zfile.writestr('loremipsum', bytes, compress_type=zipfile.ZIP_STORED)
zfile.close()
zipstream.seek(0)
return zipstream.getvalue()
zip_file = files.blobstore.create(mime_type='application/zip')
zip_data = zipit()
with files.open(zip_file, 'a') as f:
f.write(zip_data)
files.finalize(zip_file)
blob_key = files.blobstore.get_blob_key(zip_file)
blob_data = blobstore.BlobReader(blob_key).read()
# http://flask.pocoo.org/docs/api/
response = make_response(blob_data)
response.headers['Content-Type'] = 'application/zip'
response.headers['Content-Disposition'] = 'attachment; filename="loremipsum.zip"'
return response
非常感谢任何帮助。
response = make_response()
response.headers['X-AppEngine-BlobKey'] = blob_key
response.headers['Content-Type'] = 'application/zip'
response.headers['Content-Disposition'] = 'attachment; filename="loremipsum.zip"'
return response
СйєУ┐ЎС╗ЇуёХТ▓АТюЅУДБтє│тјЪтДІжЌ«жбў№╝Ђ - Geordee Naliyath