a标签href不能下载图片
我是图片,你打不开
浏览器可以打开的文件类型包括那些?
- HTML格式
- TXT格式
- JPG/JPEG格式
- GIF格式
- PNG格式
- ART格式
- AU格式
- AIFF格式
- XBM格式 -- 还有SWF格式 也就是FLASH格式
处理
浏览器遇到二进制流文件只会下载
const loadAllFile = (dataList) => {
dataList.forEach(i => downloadUrlFile(i))
function downloadUrlFile(url) {
const name = url.split('/')[url.split('/').length - 1]
const xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.setRequestHeader('Authorization', 'Basic a2VybWl0Omtlcm1pdA==');
xhr.onload = (i) => {
if (xhr.status === 200) {
// 获取图片blob数据并保存
save(xhr.response, name.split('?ak')[0]);
}
};
xhr.send();
}
function save( data,name) {
const urlObject = window.URL || window.webkitURL || window;
const save_link = document.createElement("a")
const export_blob = new Blob([data]);
save_link.href = urlObject.createObjectURL(export_blob);
save_link.download = name;
document.body.appendChild(save_link);
save_link.click()
setTimeout(function(){
document.body.removeChild(save_link)
}, 1000)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30