码迷,mamicode.com
首页 > Web开发 > 详细

怎么用ajax下载文件

时间:2018-11-19 20:15:57      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:下载文件   有一个   window   重要   open   ref   func   今天   自定义   

可能大家都觉得没有必要用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 }

 

怎么用ajax下载文件

标签:下载文件   有一个   window   重要   open   ref   func   今天   自定义   

原文地址:https://www.cnblogs.com/amiezhang/p/9984557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!