我正在尝试在我的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`
答案 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