Javascript Google Chrome上的大文件下载问题

Javascript Google Chrome上的大文件下载问题,javascript,jquery,google-chrome,asp.net-web-api,Javascript,Jquery,Google Chrome,Asp.net Web Api,这个问题快把我逼疯了 我想导出由iTextSharp生成的pdf报告 我有一个ASP.NET Web API项目,其中有生成PDF文件的代码 我使用jQuery和post方法调用API来发送一些参数,根据这些过滤器获得查询结果并导出它们 IE和FireFox上的一切都很好。当涉及到大于5MB的文件时,这个问题与Google Chrome有关。这个过程结束了,但我从chrome上得到了“下载失败-网络错误” 当字节数组正确返回时,问题似乎与javascript部分更相关 有什么帮助吗 我的ASP.

这个问题快把我逼疯了

我想导出由iTextSharp生成的pdf报告

我有一个ASP.NET Web API项目,其中有生成PDF文件的代码

我使用jQuery和post方法调用API来发送一些参数,根据这些过滤器获得查询结果并导出它们

IE和FireFox上的一切都很好。当涉及到大于5MB的文件时,这个问题与Google Chrome有关。这个过程结束了,但我从chrome上得到了“下载失败-网络错误”

当字节数组正确返回时,问题似乎与javascript部分更相关

有什么帮助吗

我的ASP.NET Web Api方法代码:

[HttpPost]
public byte[] ExportPDFRequestsList(RequestFilter filter)
{
    //Method contains the logic of export that has no issues
    return RequestsService.ExportPDFRequestsList(filter);
}
下载文件的我的javascript代码:

$.when(
        //jQuery ajax post method -- works fine
        AppObj.JsonCall("Post", exportPDFRequestsListUrl, true, parameter)

    ).then(function (response) {
        var newdata = "data:application/pdf;base64," + escape(response);
        var a = document.createElement("a");
        //build download link:
        a.href = newdata;
        a.setAttribute("download", "Requests.pdf");
        document.body.appendChild(a);
        setTimeout(function () {

            var e = document.createEvent("MouseEvents");

            e.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null
          );
            a.dispatchEvent(e);
            document.body.removeChild(a);

        }, 999);

    });

我发现这个库解决了我的问题:


我发现这个库解决了我的问题: