• 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();
        },
  • 相关阅读:
    Introduces the basic structure of Android ActivityManagerService
    创业的本质是资源整合
    android系统的经典文章
    GUI软件框架--窗口服务器
    学习法则:只接收能够体系化的知识
    编程思想:以什么样的方式来建模、分析、思考、解决问题
    怎么从本质上理解面向对象的编程思想?
    视图的对象化描述
    DOM= Document Object Model,文档对象模型---以对象管理组织(OMG)的规约为基础的
    GUI(UI编程)语言与面向对象、dsl
  • 原文地址:https://www.cnblogs.com/jiajiamiao/p/11607598.html
Copyright © 2020-2023  润新知