Javascript 关于自定义blob对象URL

Javascript 关于自定义blob对象URL,javascript,typescript,angular6,Javascript,Typescript,Angular6,我试图在一个新选项卡中打开一个blob对象,它显示一个随机生成的字符串作为URL和生成的PDF的标题。我想将URL更改为about:blank,并为pdf添加一个标题 我试过这个: this.service.getPdfReport(date).subscribe(x=> { let newBlob = new Blob([x], { type: "application/pdf" }); const data = URL.createObjectURL(newBlob);

我试图在一个新选项卡中打开一个blob对象,它显示一个随机生成的字符串作为URL和生成的PDF的标题。我想将URL更改为
about:blank
,并为pdf添加一个标题

我试过这个:

  this.service.getPdfReport(date).subscribe(x=>
  {
  let newBlob = new Blob([x], { type: "application/pdf" });
  const data = URL.createObjectURL(newBlob);
  window.open(data, '_blank');
  }
  const data = window.URL.createObjectURL(newBlob);
  var reader = new FileReader();
  reader.readAsDataURL(newBlob); 
  var base64data;
  reader.onloadend = function() {
       base64data = reader.result; 
       let filepdf = 'data:application/pdf;base64,' 
       +base64data.substr(base64data.indexOf(',')+1);
       let tab=window.open();
      tab.location.href=filepdf;
     tab.document.title="test.pdf";
}
更新: 我也试过:

  this.service.getPdfReport(date).subscribe(x=>
  {
  let newBlob = new Blob([x], { type: "application/pdf" });
  const data = URL.createObjectURL(newBlob);
  window.open(data, '_blank');
  }
  const data = window.URL.createObjectURL(newBlob);
  var reader = new FileReader();
  reader.readAsDataURL(newBlob); 
  var base64data;
  reader.onloadend = function() {
       base64data = reader.result; 
       let filepdf = 'data:application/pdf;base64,' 
       +base64data.substr(base64data.indexOf(',')+1);
       let tab=window.open();
      tab.location.href=filepdf;
     tab.document.title="test.pdf";
}
在这里,我将blob对象转换为base64格式。然后它将显示为PDF格式,URL为
about:blank
,但内容未映射

截图