最近有用到點擊某個按鈕 自動下載對應圖片,但是對於瀏覽器不一樣的問題,會有‘個別’瀏覽器出現不能下載的或者下載的效果不一樣等的問題,javascript
能夠直接用建立canvas方法:java
定義圖片地址Img: "www.xxxxx.com/xxx/xxx/xx.jpg" 點擊事件: downloadCodeImg() { var image = new Image(); image.setAttribute("crossOrigin", "anonymous"); var _this = this; image.onload = function () { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; var context = canvas.getContext("2d"); context.drawImage(image, 0, 0, image.width, image.height); var url = canvas.toDataURL("image/png"); //獲得圖片的base64編碼數據 var a = document.createElement("a"); // 生成一個a元素 var event = new MouseEvent("click"); // 建立一個單擊事件 a.download = _this.projectName || "photo"; // 設置圖片名稱 a.href = url; // 將生成的URL設置爲a.href屬性 a.dispatchEvent(event); // 觸發a的單擊事件 }; image.src = this.Img; }