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();
        },
  • 相关阅读:
    安装SQLServer2000提示“无法验证产品密钥”的解决方法
    【转】SQL Server数据库开发的二十一条军规
    Asp.Net实现FORM认证的一些使用技巧
    记住window.open的用法
    VS2005的关于母版页嵌套的一个小技巧
    一种写法的区别
    问个关于VS使用上的问题
    Server.MapPath方法的应用方法
    一个关于重定向的问题研究,应该具有实用性
    象WORD一样,双击.doc的文件就自动打开WORD并编辑该文件(转)
  • 原文地址:https://www.cnblogs.com/jiajiamiao/p/11607598.html
Copyright © 2011-2022 走看看