Chrome和Firefox中新标签页的Blob名称问题

时间:2019-05-06 12:49:17

标签: javascript angular google-chrome firefox blob

我正在尝试在IE中打开文件类型为PDF的Blob,该Blob的名称也在起作用,并且正在下载。

但是对于Chrome和Firefox,我将在新标签页中打开它,而新标签页中的名称与Blob名称完全相同。

我想更改文件名,但找不到任何方法。

下面是我正在尝试的代码。

    this.downloadReport().subscribe(
  data => {
    var blob = new Blob([data], { type: 'application/pdf' });
    var newWindow = window;
    if (newWindow.navigator && newWindow.navigator.msSaveOrOpenBlob) {
      var fileData = [data];
      var blobObject = new Blob(fileData);
      window.navigator.msSaveOrOpenBlob(blobObject, filename);
      self.alertService.stopLoadingMessage();
    } else {
      var objectUrl = URL.createObjectURL(blob);
      setTimeout(function () {
        var newWindow = window.open(objectUrl);
        setTimeout(function () {
          newWindow.focus();
          newWindow.print();
          self.alertService.stopLoadingMessage();
        }, 1000);
      }, 2000);
    }
  },
  err => {
    this.alertService.showStickyMessage('Problem while downloading the file.');
    console.error(err);
  }
);

0 个答案:

没有答案