使用Django提供下载文件

时间:2017-05-10 11:43:06

标签: python django download

我正在尝试在我的django应用程序中提供下载文件,经过一些研究后我制作了下面的代码但是有一个问题,该文件在浏览器中打开而不是被下载。

我在我的应用上提供的文件是exe文件,当他们打开它时只是一堆随机字符。

那么如何指定我希望下载文件,而不是打开? 谢谢

with open(path_to_apk, 'rb') as fh:
     response = HttpResponse(fh)
     response['Content-Disposition'] = 'inline; filename=' + os.path.basename(path_to_apk)
     return response`

1 个答案:

答案 0 :(得分:1)

您希望将Content-disposition标头设置为" attachment" (并设置正确的内容类型 - 从var名称我假设这些文件是android包,否则用适当的内容类型替换):

response = HttpResponse(fh, content_type="application/vnd.android.package-archive") 
response["Content-disposition"] = "attachment; filename={}".format(os.path.basename(path_to_apk))
return response