JavaScript下载base64位文件

发布时间 2023-09-27 15:11:35作者: 江渔湖
 1 /**
 2  * 下载文件
 3  * */
 4 function downloadExcel(base64Data) {
 5             var myBlob = this.base64toBlob(base64Data);
 6             var myUrl = URL.createObjectURL(myBlob);
 7             var link = document.createElement("a");
 8             link.href = myUrl;
 9             link.download = "名称_" + formatDateTime() + ".文件扩展名";
10             document.body.appendChild(link);
11             link.click();
12             document.body.removeChild(link);
13 }
 1 /**
 2  * 封装base64Str blob对象
 3  * */
 4 function base64toBlob (base64Str) {
 5     var bstr = atob(base64Str), n = bstr.length, u8arr = new Uint8Array(n);
 6     while (n--) {
 7         u8arr[n] = bstr.charCodeAt(n);
 8     }
 9     return new Blob([u8arr]);
10 }
 1 /**
 2  * 当前日期格式化为yyyymmddhhmmss格式
 3  * @returns
 4  */
 5 function formatDateTime() {
 6     let date = new Date(); 
 7     var y = date.getFullYear();
 8     var m = date.getMonth() + 1;
 9     m = m < 10 ? ('0' + m) : m;
10     var d = date.getDate();
11     d = d < 10 ? ('0' + d) : d;
12     var h = date.getHours();
13     h = h < 10 ? ('0' + h) : h;
14     var minute = date.getMinutes();
15     minute = minute < 10 ? ('0' + minute) : minute;
16     var second = date.getSeconds();
17     second = second < 10 ? ('0' + second) : second;
18     return y +  m +  d + h +  minute +  second;
19 }