当前位置: 首页 > 知识库问答 >
问题:

从Django模板下载作为附件的文件在firefox中不起作用

李森
2023-03-14

我有一个Django视图(下载-附件),它返回一个Django.http.response.HttpResponse对象。

{
    'reason_phrase': u'OK', 
    '_handler_class': None, 
    '_headers': {'content-length': ('Content-Length', '21'), 
                 'content-type': ('Content-Type', 'text/plain'),
                 'content-disposition': ('Content-Disposition', 'attachment; 
    filename="upload_file.txt"')
                }, 
    '_charset': None, 
    '_closable_objects': [], 
    'cookies': <SimpleCookie: >, 
    'closed': False, 
    '_container': ['Upload to file\n']
}
<a href="{% url "download-attachment" certificationID=certificationID fileID=attachment.id %}" download> {{attachment.name}}</a>

共有1个答案

吴兴国
2023-03-14

不是客户端或模板问题。Firefox需要设置在响应头中的内容编码实体来下载文件附件。即使没有编码,也需要设置头。添加了内容-对Django HttpResponse对象进行编码。

对象的新字典表示形式为:

{
    'reason_phrase': u'OK', 
    '_handler_class': None, 
    '_headers': {'content-length': ('Content-Length', '21'), 
                 'content-type': ('Content-Type', 'text/plain'),
                 'content-encoding': ('Content-Encoding', 'None'),
                 'content-disposition': ('Content-Disposition', 'attachment; 
    filename="upload_file.txt"')
                }, 
    '_charset': None, 
    '_closable_objects': [], 
    'cookies': <SimpleCookie: >, 
    'closed': False, 
    '_container': ['Upload to file\n']
}
 类似资料:
  • 我遇到了一个问题,从带有angular2的Spring boot加载文件。 这是我在spring boot的代码,它来自:使用spring MVC返回生成的pdf。我可以用postman直接下载文件,但不能用angular2... Angular2服务 和下载按钮 当我点击下载按钮chrome打开新标签并立即关闭它不显示任何文件。以下是Postman的一些响应标题。

  • 问题内容: 我正在使用以下脚本来启动文件下载: 当我直接打开页面时,它工作正常,但事实是,我需要从另一个页面通过Ajax调用此脚本。当我这样做时,下载就不会开始。脚本的其余部分执行了预期的工作。 我以为问题不在于无法以这种方式使用标头函数,但是肯定有一种方法可以使这项工作正常进行吗? 如果有任何帮助,这是Ajax函数: 形式如下: 问题答案: 您不能使用AJAX下载文件。这没有道理。您可以发送AJ

  • 问题内容: 我正在使用以下脚本来启动文件下载: 当我直接打开页面时,它工作正常,但事实是,我需要从另一个页面通过Ajax调用此脚本。当我这样做时,下载就不会开始。脚本的其余部分执行了预期的工作。 我认为问题不是这种方式可以使用头函数,但是肯定有一种方法可以使这项工作正常进行吗? 如果有帮助,这是Ajax函数: 形式如下: 问题答案: 您不能使用AJAX下载文件。这没有道理。您可以发送AJAX请求并

  • 问题内容: 我正在用Java开发游戏,我想将随机生成的地图保存在图像上,然后加载它。我的代码在Eclipse中工作正常,但是当我将其导出到.jar / .exe文件时,它在制作文件(“ mapf”)时会遇到问题。谢谢您的回答。 堆栈跟踪: 问题答案: 您似乎认为您可以将jar视为目录结构,事实并非如此。您甚至都不应该 考虑 将代码从中运行到jar文件中(可能的话,但是会涉及 很多 陷阱)。 假设您

  • 我收到错误消息: 这个github讨论页面上建议的最新解决方案也表明,当下载一个大于50GB的大文件时,也会收到相同的错误

  • 如何与剧作家一起下载文件? 我知道这个问题,如何与剧作家一起下载?但该示例代码不起作用。使用最新发布的剧作家,浏览器实例上没有“pageTarget”功能: