zoukankan      html  css  js  c++  java
  • 怎么用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 }
  • 相关阅读:
    jquery.autocomplete插件完美应用
    java原生 简单缓存工具类
    免费的内网穿透分享
    文献笔记6
    文献笔记4
    文献笔记7
    文献笔记9
    文献笔记1
    文献笔记2
    文献笔记8
  • 原文地址:https://www.cnblogs.com/amiezhang/p/9984557.html
Copyright © 2011-2022 走看看