我在我的java代码中使用jQuery文件下载插件,并且可以正常使用Firefox和Chrome,但不能使用Internet Explorer启动下载。 我设置了这些标题:
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
response.setHeader("Content-Disposition","attachment; filename="+file);
在我的javascript中我使用此代码:
$.fileDownload(
"/async/paas/caaas/downloadCertificate/"+serialNumber,
{
successCallback: function (url) {
//
},
failCallback: function (HttpServletResponse, url) {
$(“#modalDownloadFailedCertificate”).modal("show");
}
}
);
return false;
在IE中,使用F12模态,我有这一行:
网址:async / paas / caaas / downloadCertificate / 591C94
Metodo:GET(在sospeso ......)
Risultato :(在sospeso ......)
Tipo :(在sospeso ......)
Ricevuti:0 B
Tempo impiegato :(在sospeso ......)
Iniziatore:esplorazione框架
有人有同样的问题吗? 提前致谢
答案 0 :(得分:2)
我通过在response.setHeader:
之前添加这一行来解决它response.reset();
答案 1 :(得分:1)
您使用的是Spring Security 4或更高版本吗?
jquery filedownload内部使用iframe。
Spring security在版本4中,x-frame-options设置为' DENY'出于安全原因阻止iframe。
因此,要使用jquery filedownload,您必须将选项值更改为' SAMEORIGIN'。
<security:http auto-config="true" use-expressions="true">
<security:headers>
<security:frame-options policy="SAMEORIGIN"/>
</security:headers>
..........
</security:http>
将设置添加到安全上下文文件
祝你好。