下载文件vue

下载文件

window.location.href=‘http://www.baidu.com/down/downFile.txt?name=资源文件’;

这种情况下载时:文件名资源文件会中文乱码,解决办法:encodeURI(fileUrl, “utf-8”);

var newFileUrl=encodeURI(‘http://www.baidu.com/down/downFile.txt?name=资源文件’, “utf-8”);

href

window.location.href = this.downloadUrl

不能带token

blob

this.downloadApi({},this.downloadUrl).then((res) => {
// 带token等请求路由后,blob
        console.log(res)
        // this.btnLoading = false;
        if (res.type) {
          // 文件下载
          const blob = new Blob([res], {
            type: "application/vnd.ms-excel"
          });
          let link = document.createElement('a')
          link.href = URL.createObjectURL(blob)
          var fileName = this.title +'导入模板.xlsx'
          link.setAttribute('download', fileName)
          link.click()
          link = null
        }
      }).catch(err => {
        console.log(err)
});
export function downloadApi (data,url) {
  return request({
    url: url,
    method: 'GET',
    data,
    responseType: "blob"
  })
}

form

downloadFile(item) {
      const _this = this
      const params = {
        // 参数
        id: item.id,
        accessToken: _this.$store.state.user.token
      }
      const form = document.createElement('form')
      form.id = 'form'
      form.name = 'form'
      document.body.appendChild(form)
      for (const obj in params) {
        if (params.hasOwnProperty(obj)) {
          var input = document.createElement('input')
          input.type = 'hidden'
          input.name = obj
          input.value = params[obj]
            // 加id和token
          form.appendChild(input)
        }
      }
      form.method = 'GET' // 请求方式
      form.action = '/api/tds/file/downLoadFile'
      form.submit()
      document.body.removeChild(form)
    }

created失效mounted

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值