最近刚遇到这个问题,后台返回的图片链接,点击按钮批量下载,
a标签的
download属性只对同源文件有效,
所以我们这里先把图片 url 转为 blob 格式,然后再下载
private async urlToBlob(httpUrl) { const res: Response = await fetch(httpUrl); const blob: Blob = await res.blob(); const blobUrl = URL.createObjectURL(blob); return blobUrl; } private download(blobUrl, name) { // 创建虚拟a标签 const elelink = document.createElement('a'); elelink.download = name; elelink.style.display = 'none'; elelink.href = blobUrl; // 触发点击 document.body.appendChild(elelink); elelink.click(); // 然后移除 document.body.removeChild(elelink); URL.revokeObjectURL(blobUrl); }


