django/python | 从数据库获取文件,压缩后发送给浏览器

0 投票
1 回答
644 浏览
提问于 2025-04-17 01:28

请帮我解决我的问题。

抱歉如果这听起来很菜,因为我确实是个新手。在某个数据库里有一些文件(jpg、文档),我该怎么选择这些文件,保存到一个压缩文件里,然后通过浏览器发送给用户,像这样:

response = HttpResponse(mimetype='application/zip')
response['Content-Disposition'] = 'filename=group.zip'

让我最困扰的是从数据库中获取文件的部分,因为谷歌似乎对此没有什么帮助。

我有一些相关的代码如下:

temp = request.POST.getlist('cbox') #cbox is the field in form
tempx = models.FileTable.objects.filter(pk__in = temp)

我不知道接下来该怎么做了。提前谢谢你们!:p

1 个回答

1

你需要了解的是 zipfileStringIO。首先,创建一个 StringIO 对象,然后把它当作一个 ZipFile 来打开,接着把文件添加进去,最后再 发送它

撰写回答