angular 5-下载文件大于1mb时出错

时间:2018-07-25 08:41:09

标签: angular5

我关注此博客将pdf文件下载到客户端光盘。

http://jslim.net/blog/2018/03/13/Angular-4-download-file-from-server-via-http/

使用此代码:

 return this.http
.get("assets/test.pdf", {
  responseType: ResponseContentType.Blob
 // search: // query string if have
})
.map(res => {
  return {
    filename: 'filename1.pdf',
    data: res.blob()
  };
})
.subscribe(res => {
    console.log('start download:',res);
    var url = window.URL.createObjectURL(res.data);
    var a = document.createElement('a');
    document.body.appendChild(a);
    a.setAttribute('style', 'display: none');
    a.href = url;
    a.download = res.filename;
    a.click();
    window.URL.revokeObjectURL(url);
    a.remove(); // remove the element
  }, error => {
    console.log('download error:', JSON.stringify(error));
  }, () => {
    console.log('Completed file download.')
  });

}

如果我下载300 kb大小的pdf文件,则效果很好。 但是当我尝试下载1 mb大小的pdf时,出现此错误。

  

下载错误:{“ _body”:{},“状态”:404,“确定”:false,“ statusText”:“未找到”,“标题”:{“ access-control-allow-origin”: [“ *”],“ date”:[“ Wed”,“ 2018年7月25日07:33:47 GMT”],“ x-content-type-options”:[“ nosniff”],“ connection”:[“ keep-alive“],” x-powered by“:[” Express“],” content-length“:[” 154“],” content-type“:[” text / html; charset = utf-8“ ]},“ type”:2,“ url”:“ http://localhost:4200/assets/test.pdf”}

有什么主意吗? 非常感谢!

0 个答案:

没有答案