vue フロントエンドは画像のダウンロードを実現し、ボタンをクリックしてローカル ウィンドウをポップアップし、カスタムの保存パスを選択します。

vue フロントエンドはフロントエンドのダウンロードを実現し、ボタンをクリックしてローカル ウィンドウをポップアップし、カスタムの保存パスを選択することを実現します。

1.ダウンロードを実現

2. カスタム保存パスを実装する

コードを直接アップロードします。無意味なことは言わないでください。注意してください。迷わないようにしてください
。 1. コードをダウンロードします。

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title></title>
    <meta name="description" content="" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="" />
  </head>

  <body>
    <a onclick="fn1()" style="cursor: pointer">aaaaaaa</a>
    <script>
      var arr = [
        "https://img0.baidu.com/it/u=4162443464,2854908495&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500",
      ];
      function downloadIamge(imgsrc, name) {
    
    
        let image = new Image();
        image.setAttribute("crossOrigin", "anonymous");
        image.onload = function () {
    
    
          let canvas = document.createElement("canvas");
          canvas.width = image.width;
          canvas.height = image.height;
          let context = canvas.getContext("2d");
          context.drawImage(image, 0, 0, image.width, image.height);
          let url = canvas.toDataURL("image/png");
          let a = document.createElement("a");
          let event = new MouseEvent("click");
          a.download = name || "photo";
          a.href = url;
          a.dispatchEvent(event);
        };
        image.src = imgsrc;
      }
      function WriteToFile(sText) {
    
    
        with (document) {
    
    
          ir = createElement("iframe");
          ir.id = "ifr";
          ir.location = "about:blank";
          ir.style.display = "none";
          body.appendChild(ir);
          with (getElementById("ifr").contentWindow.document) {
    
    
            open();
            write(sText);
            close();
            if (document.compatMode && document.all) {
    
    
              execCommand("SaveAs", false, ".txt");
            } else {
    
    
              location = "data:application/rtf," + encodeURIComponent(sText);
            }
          }
          setTimeout(function () {
    
    
            body.removeChild(ir);
          }, 1000);
        }
      }
      function fn1() {
    
    
        for (let i = 0; i < arr.length; i++) {
    
    
          downloadIamge(arr[i]);
        }
      }
    </script>
  </body>
</html>

2. コードを探す必要はありません。コードなしで実現できます。
ステップバイステップで
赤い矢印に従って、マウスでそれを押します
ここに画像の説明を挿入
ここに画像の説明を挿入
。おめでとうございます。機能は完了しました。

おすすめ

転載: blog.csdn.net/m0_71585401/article/details/131193969