web下载附件及修改名称

 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 }
原文地址:https://www.cnblogs.com/gaowy/p/11856712.html