可以使用JavaScript的fetch
和Blob
对象来下载图片。下面是一个例子:
function downloadImage(url, filename) {
fetch(url)
.then(response => response.blob())
.then(blob => {
// 创建一个a标签
const a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = filename;
// 模拟点击下载
a.click();
// 清除URL对象
window.URL.revokeObjectURL(a.href);
});
}
// 调用downloadImage函数
downloadImage('https://example.com/image.jpg', 'image.jpg');
这个例子中,downloadImage
函数接收两个参数:图片的URL和下载后的文件名。它使用fetch
来获取图片的响应,然后使用blob
方法将响应转换为Blob对象。接下来,使用createObjectURL
方法将Blob对象转换为URL,然后将URL赋值给a标签的href
属性。同时,为了让浏览器弹出下载对话框,将文件名赋值给a标签的download
属性。最后,模拟点击a标签来触发下载动作,并调用revokeObjectURL
方法来释放URL对象的内存。