如何在Django中在http响应中发送zip文件?
可能是重复的问题:
使用Django生成可下载的文件
我有一个包含一些文件的压缩文件夹。我想在Django中发送这个压缩文件夹作为响应。我该怎么做呢?
2 个回答
0
在响应中发送文件附件的相关内容可以在文档中找到。
不过,有两点是文档没有提到的,特别针对你的情况:
- 你需要把文件数据作为第一个参数传给
HttpResponse()
(在例子中是my_data
)。 - 你需要使用正确的文件类型(
application/zip
)。
3
其他人说得对,这个问题之前有人问过。
不过,基本上你应该能够看到
你可以使用Python的'zipfile'模块来生成实际的压缩文件,但你提到你已经有这个压缩文件了?
from django.http import HttpResponse
...
response = HttpResponse(wrapper, content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=your_zipfile.zip'
return response
你需要在上面添加一些内容——也许是关于这个文件来自哪里,或者你是怎么生成它的更多信息?不过上面的内容应该能帮助你入门。
祝好,
Victor