欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

web下载附件及修改名称

程序员文章站 2024-02-03 10:25:46
1 /** 2 * @param: url 附件地址 3 * @param: filename 下载后的文件名 4 */ 5 function download(url, filename) { 6 getBlob(url, function (blob) { 7 saveAs(blob, file ......
 1 /**
 2  * @param: url 附件地址
 3  * @param: filename 下载后的文件名
 4  */
 5 function download(url, filename) {
 6     getblob(url, function (blob) {
 7         saveas(blob, filename);
 8     });
 9 
10 }
11 
12 function getblob(url, cb) {
13 
14     var xhr = new xmlhttprequest();
15 
16     xhr.open('get', url, true);
17 
18     xhr.responsetype = 'blob';
19 
20     xhr.onload = function () {
21 
22         if (xhr.status === 200) {
23 
24             cb(xhr.response);
25 
26         }
27 
28     };
29 
30     xhr.send();
31 
32 }
33 
34 function saveas(blob, filename) {
35 
36     if (window.navigator.mssaveoropenblob) {
37 
38         navigator.mssaveblob(blob, filename);
39 
40     } else {
41 
42         var link = document.createelement('a');
43 
44         var body = document.queryselector('body');
45 
46         link.href = window.url.createobjecturl(blob);
47 
48         link.download = filename;
49 
50         // fix firefox
51 
52         link.style.display = 'none';
53 
54         body.appendchild(link);
55 
56         link.click();
57 
58         body.removechild(link);
59 
60         window.url.revokeobjecturl(link.href);
61 
62     };
63 
64 }