美文网首页技术贴
vue 文件流下载pdf文件

vue 文件流下载pdf文件

作者: zhudying | 来源:发表于2021-03-23 10:14 被阅读0次
    /***
     * @author zhudying
     * @description  文件流下载pdf
     * @function exportPdf    pdf下载函数
     * @param  data  文件流数据,后端请求返回
     * @param {string}  fileName  文件名(xx.pdf)
     * 
     * ***/
    export function exportPdf(data, fileName) {
      let blob = new Blob([data], {
        //type类型后端返回来的数据中会有,根据自己实际进行修改
        // 表格下载为 application/xlsx,压缩包为 application/zip等,
    
        type: "application/pdf"
      });
      let filename = fileName;
      if (typeof window.navigator.msSaveBlob !== "undefined") {
        window.navigator.msSaveBlob(blob, filename);
      } else {
        var blobURL = window.URL.createObjectURL(blob);
        // 创建隐藏<a>标签进行下载
        var tempLink = document.createElement("a");
        tempLink.style.display = "none";
        tempLink.href = blobURL;
        tempLink.setAttribute("download", filename);
        if (typeof tempLink.download === "undefined") {
          tempLink.setAttribute("target", "_blank");
        }
        document.body.appendChild(tempLink);
        tempLink.click();
        document.body.removeChild(tempLink);
        window.URL.revokeObjectURL(blobURL);
      }
    }
    
    注:
    1. 在axios请求时,需要添加responseType: 'arraybuffer'
      2.new Blob的type类型详情点击查看

    相关文章

      网友评论

        本文标题:vue 文件流下载pdf文件

        本文链接:https://www.haomeiwen.com/subject/wvgxhltx.html