js 下载网络文件到本地,根据url下载文件,下载本地文件
js下载网络文件到本地不建议使用a标签打开网页,不同浏览器会不兼容。下面介绍一个可以根据url下载文件到本地,并且自动生成随机名称的方法~
随机生成名称可以在统一页面多次导出文件且不会提示“文件已存”的情况,不需要的同学可以根据注释修改
// 文件下载,url为文件地址,可以为本地地址也可以为网络地址
function downloadFile(url) {
// 不需要随机生成名字的
// let filename = `你的文件名字.文件格式`;
// 生成一个随机名称
let filename = `${randomString(10)}.xls`;
return fetch(url).then((res) =>
res.blob().then((blob) => {
let a = document.createElement("a");
let url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
})
);
}
function isIE () { // ie?
// 随机字符串
function randomString(len) {
console.log(2);
len = len || 32;
var $chars =
"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678"; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
var maxPos = $chars.length;
var pwd = "";
for (let i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
原文链接:https://blog.csdn.net/NI_computer/article/details/117369179