可以使用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對象的內存。