如何让Django中的用户可以下载已经存在的pdf文件?

2024-04-19 17:54:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我将django用于一个小项目,使用户可以下载已经存在于media/doc/路径中的pdf 所以我写了这个代码

    with open('media/doc/document.pdf', 'r',encoding='latin1',errors='replace') as pdf:
        response = FileResponse(pdf.read(), content_type='application/pdf')
        response['Content-Disposition'] = 'inline;filename=some_file.pdf'
        return response

但是当pdf文件被下载时,页面显示为空,顺便说一句,我已经尝试了utf-8编码,即使this对我不起作用,也不起作用

那么我怎样才能让页面可见呢?你知道吗


Tags: 项目django代码用户路径docpdfresponse
1条回答
网友
1楼 · 发布于 2024-04-19 17:54:31

你正在尝试的代码应该可以工作,但如果它不工作,我建议你可以下载pdf文件与HTML代码也。你知道吗

<a class="btn btn-lg btn-primary" href="{{ obj.url }}" type="application/octet-stream .pdf" download="menu.pdf" target="_blank" role="button">Download a pdf file</a>

最近在HTML5中增加了下载属性,现在你可以直接从HTML下载文件了,现在不需要为它创建额外的视图。 您可以查看详细信息Here

相关问题 更多 >