在Firefox中打开Blob文件不起作用

inf*_*dev 5 javascript pdf firefox blob typescript

我将打开在Firefox上从服务器发送的文件。

实际上,它正在IE上运行。这是我的操作方法。

openFile(path, fileName) {
  this.creditPoliciesService
    .openFile(path)
    .toPromise()
    .then(data => {
      var blob = new Blob([data.body], { type: "application/pdf" });
      if (window.navigator && window.navigator.msSaveOrOpenBlob) { //if navigator is IE
        window.navigator.msSaveOrOpenBlob(blob, fileName);
      } else { // Mozilla case
        var fileURL = URL.createObjectURL(blob); //URL.createObjectURL takes only one parameter.
        window.open(fileURL);
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

当我打开文件时,我在新标签页中看到blob:http://localhost:4200/90907276-947a-47d8-873d-40163一个空白页面的Blob地址

我想我应该传递文件名,但是用 URL.createObjectURL

如何打开正确格式的文件?

编辑

  • 在Chrome中:打开文件,但在顶部栏没有文件名,而是显示“ XXXXXX”。
  • 在Firefox中:如前所述,我在导航栏上获得的Blob地址为空页面。
  • 在IE中:正在运行