zoukankan      html  css  js  c++  java
  • axios 利用new FileReader() 下载文件获取返回的错误信息

    this.axios({
              method: "post",
              url: url,
              data: data,
              responseType: "blob" 
            })
              .then(res => {
                const data = res.data
                let r = new FileReader()
                r.onload = function () {
                  try {
                    let resData = JSON.parse(this.result)
                    console.log(resData)
                    if (resData && resData['code'] && resData['code'] != '1000') {
                     alert(resData.msg);//弹出返回的错误msg
                    }
                  } catch (err) {
                    let fileName = '下载文件名.xls'
                    // 兼容ie11
                    if (window.navigator.msSaveOrOpenBlob) {
                      try {
                        const blobObject = new Blob([data])
                        window.navigator.msSaveOrOpenBlob(blobObject, fileName)
                      } catch (e) {
                        console.log(e)
                      }
                      return
                    }
                   this.download(data, fileName)
                    alert('导出成功')
                  }
                }
                r.readAsText(data) // FileReader的API
              })
              .catch(e => {
                let msg = "网络异常";
                _that.isCanClick = true
                this.$Message.error(msg);
              });
     
     // 下载文件
        download(data, name) {
          if (!data) {
            return;
          }
          let url = window.URL.createObjectURL(new Blob([data]));
          let link = document.createElement("a");
          link.style.display = "none";
          link.href = url;
          link.setAttribute("download", name);
          document.body.appendChild(link);
          link.click();
        },
  • 相关阅读:
    New Day
    apache mod_xsendfile 让php提供更快的文件下载
    XSS跨站测试代码大全
    HTML5 使用application cache 接口实现离线数据缓存
    HTTP 204 与 205 应用
    php HTTP请求类,支持GET,POST,Multipart/form-data
    php 过滤html标记属性类
    php 利用fsockopen GET/POST 提交表单及上传文件
    php 实现BigPipe分块输出
    同一域名对应不同IP,访问指定主机文件内容的方法
  • 原文地址:https://www.cnblogs.com/jiajiamiao/p/11607598.html
Copyright © 2011-2022 走看看