我需要下载一个文件,其中“ Content-Disposition ”标头被服务器设置为“ attachment
”。我正在使用 jQuery.ajax
forGET
和 on success 设置 hidden iframe
src
to url
,这给了我一个文件下载的弹出窗口。它在所有浏览器中都能正常工作。现在我想在 GET 和下载之前更改自定义请求标头以加密文件。我为此使用 了jQuery.ajax
预请求回调函数beforeSend
。
我能够获取我可以在萤火虫中观察到的加密文件,但我iframe
仍然显示非加密文件供下载。检查后我可以说iframe
请求一个新的 GET 。
代码
$.ajax({
url: "/tutorial.text",
beforeSend: function(xhr) { xhr.setRequestHeader("PASSWORD_HEADER", userPwd); },
success: function() { $("#Hidden_iframe").attr("src", this.url); }
});
这在 Internet Explorer 上运行良好。我如何强制 iframe 使用可用资源而不是请求新的 GET。或者我如何在 iframe 中设置RequestHeader,或者我真的需要一个jQuery.Ajax
来完成这项任务,是否有任何最佳方法可以直接从服务器下载设置为附件文件的 Content-Disposition 标头。