IE不会使用jQuery File Download插件下载文件

时间:2015-02-19 15:19:10

标签: java javascript jquery internet-explorer controller

我在我的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框架

有人有同样的问题吗? 提前致谢

2 个答案:

答案 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>

将设置添加到安全上下文文件

祝你好。