目前要把用base64顯示的圖做點擊下載圖片的功能
function downIMG(id) {
var img = document.getElementById(id);
var url = img.src.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
location.href = url;
}
目前可以成功下載,但下載檔名會預設為:下載
不知道怎麼樣可以更改這個預設下載的名稱?請各位前輩解惑!
用 a 物件可以指定檔案名稱
function downImg(id){
var link = document.createElement('a');
link.id = 'downurl';
link.href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJIAA.......AAAAElFTkSuQmCC';
link.download='file1.png';
document.body.appendChild(link);
document.getElementById('downurl').click();
}
我放在 jsbin 給你參考
https://jsbin.com/nugapum/edit?html,js,output