设置自定义文件名在新选项卡中打开

时间:2019-12-09 06:01:36

标签: javascript node.js angular typescript

我正在使用角度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(打开文件名)。 当前输出:

enter image description here

预期的输出:-"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 => {
  }, () => {
  });

}

0 个答案:

没有答案