可以使用JavaScript的`fetch`和`Blob`对象来下载图片。下面是一个例子:
```javascript
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对象的内存。