返回django中的直接下载链接

时间:2012-10-14 02:26:17

标签: django httpresponse

我有一个带有按钮的表单来下载ZIP文件。我的django应用程序返回外部文件的直接下载URL,但是在返回文件时遇到了一些问题:

directDownloadLink = site.getDirectDownloadLink(link)

我尝试使用以下命令返回文件:

return HttpResponse(directDownloadLink)

返回包含直接链接的空白网页;

return HttpResponse(directDownloadLink)

将我重定向到存储文件的基页;

mimetypes.init()
return HttpResponseRedirect(directDownloadLink,
                            mimetype='.zip')

这让我下载了一个100byte的文件。我试图下载的文件是35kb。

3 个答案:

答案 0 :(得分:1)

为什么不这样做

<a href="{{ file.url }}">download file</a>

答案 1 :(得分:0)

我刚刚找到了答案。我的问题是我试图返回的网址有302重定向响应。我使用urllib检索了最终的url链接,并将其作为简单的超链接返回。

答案 2 :(得分:0)

来自the documentation

response = FileResponse(open('myfile.png', 'rb'))