知向前端
前端使用 js 下载文件并自定义文件名
2022-8-13 Jon

前端使用 js 下载文件并自定义文件名



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>js 下载文件时自定义文件名</title>
</head>
<body>

<div class="wrap">
<button class="content" onclick="toDownload('http://code.jquery.com/jquery-2.1.1.min.js', '自定义文件名')">下载</button>
</div>

<script type="text/javascript">
function toDownload(url, filename) {
getBlob(url, function(blob) {
saveAs(blob, filename);
});
}
function getBlob(url, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "blob";
xhr.onload = function() {
if (xhr.status === 200) {
cb(xhr.response);
}
};
xhr.send();
}
function saveAs(blob, filename) {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename);
} else {
var link = document.createElement("a");
var body = document.querySelector("body");

link.href = window.URL.createObjectURL(blob);
link.download = filename;

// fix Firefox
link.style.display = "none";
body.appendChild(link);

link.click();
body.removeChild(link);

window.URL.revokeObjectURL(link.href);
}
}

</script>
</body>
</html>

评论:
gNZiATxjsMa
2024-01-20 23:06 回复
ofDKBuJZlnmdx
ptrMZbRAdOeCoi
2023-01-29 04:30 回复
YMkKwUJZOBVbIy
cWslQnjXbeG
2022-12-21 06:04 回复
CMrkoIFYR
DmBoEtJxunevyaw
2022-12-17 14:39 回复
ClWNbaKkcS
rJXfgkxLhAb
2022-11-09 14:26 回复
UGMofrXgswphNT
hfiwNgZsnOpxA
2022-10-23 18:25 回复
wbGdtxrESA
jBLIEQsVamDJ
2022-10-17 02:11 回复
ydRkVFlsvYNr
fsgt
2022-09-28 10:47 回复
不错的网站
gKvBRaEtbkzwGVUC
2022-09-24 13:50 回复
ugOoDxMWze
VeTpWHUQgrwfBoz
2022-09-15 18:51 回复
rweZWMhqdcB
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容