Javascript 如何解决MIME类型的二进制/八位字节流问题?

Javascript 如何解决MIME类型的二进制/八位字节流问题?,javascript,typescript,google-chrome,download,mime-types,Javascript,Typescript,Google Chrome,Download,Mime Types,当用户点击一个按钮时,我正试图下载2+个文件。第一个文件在大多数情况下都已正确下载,但第二个文件通常会返回此警告,并且文件未下载: Resource interpreted as Document but transferred with MIME type binary/octet-stream: (Link that installs the file when accessed). PNG文件总是正确下载的,但是我们使用的其他类型常常会出现这个问题 Chrome是应用程序的默认浏览器

当用户点击一个按钮时,我正试图下载2+个文件。第一个文件在大多数情况下都已正确下载,但第二个文件通常会返回此警告,并且文件未下载:

Resource interpreted as Document but transferred with MIME type binary/octet-stream: (Link that installs the file when accessed). 
  • PNG文件总是正确下载的,但是我们使用的其他类型常常会出现这个问题
  • Chrome是应用程序的默认浏览器
这是我用来下载文件的代码:

  if (download.data.type !== 'png') {
    if (download.download_url) {
      setTimeout(() => {
        const link = document.createElement('a');
        link.href = download.download_url;
        link.setAttribute('download', '');
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
      }, 1000);
    }
  } else {
    // PNG download
    if (download.data.download_url) {
      const urlParams = new URLSearchParams(download.data.download_url);
      const response = await axios.get(download.data.download_url, { responseType: 'blob' });
      const url = window.URL.createObjectURL(new Blob([response.data]));
      const link = document.createElement('a');
      link.href = url;
      link.setAttribute('download', `${urlParams.get('asset_id')}.png`);
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    }
  }
};