ajax接口返回的文件流数据处理方法介绍

1129 ℃
function download(res) {
  // 错误处理
  if (res.data.type == "application/json") {
    let reader = new FileReader();
    reader.readAsText(res.data, 'utf-8');
    reader.onload = function () {
      let json_data = JSON.parse(reader.result);
      Message({
        showClose: true,
        message: json_data.Message,
        type: "error"
      });
    }
    return;
  }

  // 下载处理
  let filename = "content-disposition" in res.headers ?
    decodeURIComponent(
      res.headers["content-disposition"]
        .split(";")[1]
        .split("=")[1]
        .replace(/"/g, "")
    ) :
    "下载文件";
  try {
    if (window.navigator.msSaveOrOpenBlob) {
      navigator.msSaveBlob(res.data, filename);
    } else {
      let blob = new Blob([res.data], {
        type: "application/vnd.ms-excel"
      });
      let url = URL.createObjectURL(blob);
      let link = document.createElement("a");
      link.setAttribute("href", url);
      link.setAttribute("download", filename);
      link.style.display = "none";
      document.body.appendChild(link);
      link.click();
      URL.revokeObjectURL(url); // 释放URL 对象
      document.body.removeChild(link);
    }
  } catch (err) {
    // console.log(err)
  }
}

织梦cms ueditor编辑器 七牛云存储加速

标签: 数据处理, 文件流数据

上面是“ajax接口返回的文件流数据处理方法介绍”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_4121.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

javascript监听用户是否打开了debugger
Go语言文件如何正确关闭代码
html网页上如何把文件压缩成zip代码示列(前端HTML/JavaScript和后端Node.js + Express)
wordpress如何获取当前分类的顶级id
如何查看网站是否被百度处罚?