我关注此博客将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”}
有什么主意吗? 非常感谢!