如何在Django中在http响应中发送zip文件?

1 投票
2 回答
11235 浏览
提问于 2025-04-16 07:48

可能是重复的问题:
使用Django生成可下载的文件

我有一个包含一些文件的压缩文件夹。我想在Django中发送这个压缩文件夹作为响应。我该怎么做呢?

2 个回答

0

在响应中发送文件附件的相关内容可以在文档中找到

不过,有两点是文档没有提到的,特别针对你的情况:

  1. 你需要把文件数据作为第一个参数传给HttpResponse()(在例子中是my_data)。
  2. 你需要使用正确的文件类型(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

撰写回答