瀏覽器中js怎么將圖片下載而不是直接打開


網上找了好多方法都是不能用的,經過試驗在Chrome中都是直接打開。

經過自己的摸索,找到了一套能用的解決方案

var database = "data:image/jpg;base64," + data.data;
let aLink = document.createElement('a');
let blob = this.base64ToBlob(database ); //new Blob([content]);
let evt = document.createEvent("HTMLEvents");
evt.initEvent("click", true, true);//initEvent 不加后兩個參數在FF下會報錯  事件類型,是否冒泡,是否阻止瀏覽器的默認行為
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));//兼容火狐

這種方式需要讓后台給一個base64的字符串。

base64前台顯示圖片的方法

$("#image").attr("src", "data:image/jpg;base64," + data.data);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM