1圖片下載和其他
圖片的下載特殊一些,不像txt/xls其他格式,多會涉及跨域的問題。
1跨域服務(wù)端的同源
可以用canvans,或轉(zhuǎn)base64,又或轉(zhuǎn)blob都行。
非同源:
目前可以先試,下載圖片時,禁用瀏覽器緩存,下載。
downloadImg (src, name) {
var x = new XMLHttpRequest() // 禁止瀏覽器緩存;否則會報跨域的錯誤
x.open('GET', src + '?t=' + new Date().getTime(), true)
x.responseType = 'blob'
x.onload = function (e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a')
a.href = url
a.download = name
a.click()
}
x.send()
},
ps:跨域是瀏覽器本身的行為,為一種設(shè)計保護(hù)行為,解決一般后端設(shè)置cross或者其他都可以。