背景
使用 fetch 下载图片,出现跨域问题, 如下图。查看错误信息,需要设置mode为 no-cors
下载流文件详细内容
export const downloadFile = (filePath, fileName) => {
fetch(filePath, {
method: 'GET',
mode: 'no-cors',
}).then(res => res.blob()).then(blob => {
const a = document.createElement('a');
document.body.appendChild(a);
a.style.display = 'none';
// 使用获取到的blob对象创建的url
const url = window.URL.createObjectURL(blob);
a.href = url;
// 指定下载的文件名
a.download = fileName;
a.click();
document.body.removeChild(a);
// 移除blob对象的url
window.URL.revokeObjectURL(url);
}).catch(err => {
console.log(err)
})
};