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. コードを探す必要はありません。コードなしで実現できます。
ステップバイステップで
赤い矢印に従って、マウスでそれを押します
。おめでとうございます。機能は完了しました。