Javascript 如何解决MIME类型的二进制/八位字节流问题?
当用户点击一个按钮时,我正试图下载2+个文件。第一个文件在大多数情况下都已正确下载,但第二个文件通常会返回此警告,并且文件未下载: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是应用程序的默认浏览器
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);
}
}
};