網上找了好多方法都是不能用的,經過試驗在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);
