Django中的自动文件下载

时间:2018-06-12 05:44:25

标签: django django-views django-admin django-admin-actions

我正在django的管理面板上点击链接创建文件下载功能。我正在使用FileField存储文件。为了下载目的,我研究并找到了stackoverflow的帮助。使用该帮助后,我有以下代码用于文件下载(我自己进行了一些小的更改)。

def pdf_download(request):
    #print("request: ", request.META["PATH_INFO"])
    a = request.META["PATH_INFO"]
    #print(type(a))
    a = a.split("/")
    a = a[-1]
    #print(a)
    #print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    with open(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+"\\router_specifications\\"+a ,"rb") as pdf:
        #Here router_specifications is the directory on local storage where the uploaded files are being stored.
        response = HttpResponse(pdf.read()) #can add ', content_type = "application/pdf" as a specific pdf parameter'
        response["Content-Disposition"] = "attachment; filename ="+a
        pdf.close()
        return response

现在,当我的笔记本电脑中运行此代码时,文件会自动下载。但是,当我切换到其他一些笔记本电脑时,它会问我应该在哪里保存文件,即它不会自动下载。 我应该做哪些更改,以便在不要求手动保存的情况下自动下载文件。最早请求帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加以下content_type:

content_type ='应用程序/强制下载'