前端使用 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;
link.style.display = "none";
body.appendChild(link);
link.click();
body.removeChild(link);
window.URL.revokeObjectURL(link.href);
}
}
</script>
</body>
</html>
2024-01-20 23:06