js下载文件流,提示文件损坏问题


js下载文件流,提示文件损坏问题

前端axios,也需要加responseType: “blob”,这样才能正常下载文件流。

eg:

axios({
    url: layui.setter.apiHost + '/api/order/putAllPages',
    method: "POST",
    headers: {
      Authorization: "Bearer " + layui.storage.getToken(),
      AppKey: layui.setter.TenantKey,
      TenantKey: layui.setter.TenantKey
    },
    timeout: 50000,
    data: Qs.stringify({
      type: _this.type,
      userType: 'buyer',
      querySubOrganization: subOrgan.querySubOrganization,
      organId: subOrgan.organId,
      startTime: startTime,
      endTime: endTime
    }),
    responseType: 'blob'
  }).then(function (res) {
    layer.closeAll('loading');
    var blob = new Blob([res.data], { type: "application/vnd.ms-excel" })
    var url = URL.createObjectURL(blob);
    var a = document.createElement("a");
    var fileName = '订单核算.xls'
    a.download = fileName;
    a.style.display = "none"
    a.href = url;
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    URL.revokeObjectURL(url)
  })


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM