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

问题描述

我正在尝试在用户单击按钮时下载 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);
    }
  }
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)