微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何解决 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 举报,一经查实,本站将立刻删除。