【发布时间】:2022-01-11 12:14:36
【问题描述】:
我正在使用来自here 的 zipstream,并且有一个 Django 视图,该视图返回一个包含所有文件附件的 zip 文件,这些附件都托管在 Amazon S3 上。但是当我下载它们时,所有的 zip 文件都显示为损坏,也就是说,我无法打开它们。
import io
import zipstream
s = io.BytesIO()
with zipstream.ZipFile(s,"w", compression=zipstream.ZIP_DEFLATED) as zf:
for file_path in file_paths:
file_dir, file_name = os.path.split(file_path)
zf.writestr(file_name, urllib.urlopen(file_path).read())
response = StreamingHttpResponse(s.getvalue(), content_type='application/octet-stream')
response['Content-Disposition'] = 'attachment; filename={}'.format('files.zip')
return response
【问题讨论】:
标签: python-3.x django zipstream