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