我正在使用角度6并从后端接收到pdf文件路径,我正在客户端创建pdf文件,并使用window.open(file_url)在新选项卡中打开。
到目前为止,它工作正常。
当前它显示为"blob:http://192.168.X.XXX:4200/**5b6a56aa-0eac-47df-95f2-e654a91564d2**"
。
但我想重命名"http://192.168.X.XXX:4200/**xyz.pdf**"
之类的url(打开文件名)。
当前输出:
预期的输出:-"http://192.168.X.XXX:4200/**xyz.pdf**"
downloadAttachmentByDocumentId(noticeId,type:string,view:boolean,fileName?:string){ 让url =“ downloadNoticeById /” + noticeId;
return this.http
.get(SeverUrlConstant.URL + url, {
responseType: ResponseContentType.Blob
})
.map(res => {
return {
filename: fileName ? fileName : "notice" + ".pdf",
data: res.blob()
};
})
.subscribe(res => {
if (view) {
let file = new Blob([res.data], { type: 'application/pdf' });
let fileURL = URL.createObjectURL(file);
window.open(fileURL);
} else {
let url = window.URL.createObjectURL(res.data);
let 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 => {
}, () => {
});
}