微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 通过iframe下载文件时出现Chrome错误

我正在向服务器提交 JSON数据.服务器生成PDF文件并使用该PDF文件的URL进行响应.然后我再向服务器发出下载PDF文件的请求.要进行下载,我创建一个隐藏的iframe并将源设置为PDF网址.请注意,我希望用户的浏览器保持在同一页面并在后台下载.关于我正在做什么以及我使用的解决方案的更多细节可以在 this SO question找到.

每当我在Chrome中使用此技术时,一切正常.但是看一下chrome开发者控制台,我看到错误消息无法加载资源.有没有办法以不同的方式做到这一点,以便我不会得到这些错误

在jsfiddle上可以看到非常简单且有效的example of the problem in action.只需单击“下载PDF”按钮,然后查看Chrome控制台即可.

页面上的代码如下所示:

$(document).ready( function() {
    var downloadFile = function(url){
        var iframe = $("iframe#download");
        if (!iframe.length) {
            iframe = $("<iframe id='download' style='display:none;'/>");
            $("body").append(iframe);
        }
        iframe.attr("src",url);
    };

    $("button").click(function() {    
        downloadFile("http://www.education.gov.yk.ca/pdf/pdf-test.pdf");
    });
});

解决方法

其他受访者建议更改内容类型标题,这应该也可以正常工作,但是有一个特定的响应标题用于指示浏览器如何处理文件.

以下应强制下载pdf而不是在浏览器中显示

内容处理:附件;文件名= [您的文件名]”

原文地址:https://www.jb51.cc/js/157953.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐