Vue點擊按鈕下載對應圖片

最近有用到點擊某個按鈕 自動下載對應圖片,但是對於瀏覽器不一樣的問題,會有‘個別’瀏覽器出現不能下載的或者下載的效果不一樣等的問題,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;
      }
相關文章
相關標籤/搜索