复制代码
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 }
复制代码
|
|