怎么用ajax下載文件


可能大家都覺得沒有必要用ajax來下載東西,用window.open(url)就可以搞定

但是這有一個問題,就是這就限定了只能用GET方式來請求了;

可能你又會說GET很符合REST的要求呀。

但是如果你用jwt來做身份驗證呢?

這意味着你需要在Window.open時帶上自定義的Request Header,這就無解了

所以今天來介紹一下怎么用ajax來下載文件

 1 let xhr = new XMLHttpRequest()
 2 xhr.open('GET', 'http://www.xxx.com/bbb.zip', true)
 3 // 這部至關重要,命令xhr返回給你的時blob(二進制大對象)類型的數據
 4 xhr.responseType = 'blob'
 5 xhr.send()
 6 xhr.onreadystatechange = function () {
 7   if (xhr.readyState === 4 && xhr.status === 200) {
 8     const aTag = document.createElement('a')
 9     aTag.href = URL.createObjectURL(this.response)
10     aTag.download = 'aaa.zip'
11     aTag.click()
12   }
13 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM