美文网首页
使用js下载文件(非a标签形式)

使用js下载文件(非a标签形式)

作者: Gason_d796 | 来源:发表于2019-10-08 09:12 被阅读0次

html

 <button @click="downloadFile">下载json模板</button>

js

 downloadFile() {
      var xhr = new XMLHttpRequest()
      var formData = new FormData()
      xhr.open('get', defPropertyApi.downloadProTempalteUrl()) // url填写后台的接口地址,如果是post,在formData append参数(参考原文地址)
      xhr.setRequestHeader(
        'Authorization',
        'Bearer ' + sessionUtil.getUserToken()
      )
      xhr.responseType = 'blob'
      const that = this
      xhr.onload = function(e) {
        if (this.status === 200) {
          var blob = this.response
          var filename = 'property_template.json'
          // console.log(this.response)
          if (window.navigator.msSaveOrOpenBlob) {
            navigator.msSaveBlob(blob, filename)
          } else {
            var a = document.createElement('a')
            var url = that.createObjectURL(blob)
            a.href = url
            a.download = filename
            document.body.appendChild(a)
            a.click()
            window.URL.revokeObjectURL(url)
          }
        }
      }
      xhr.send(formData)
      return
    }

相关文章

网友评论

      本文标题:使用js下载文件(非a标签形式)

      本文链接:https://www.haomeiwen.com/subject/kawvpctx.html