自学内容网 自学内容网

【js】记录预览pdf文件

接口调用拿到pdf的文件流,用blob处理这个文件流拿到url,使用window.open跳转新的窗口进行预览

api({
dataType: 'blob',
}).then(res =>{
if(res.code === 0){
   this.previewPDF(
     res,
     'application/pdf;charset=utf-8',
     'pdf文件名'
   )
 }
})

previewPDF (res, type, fname) {
    try {
      if(!res|| !res.data || !res.headers) {
        throw new Error("Invalid response")
      }
      const fileType = res.headers['content-type'] || type
      console.log(res.headers['content-type'])  
      const blob = new Blob([res.data], {type: fileType})
      console.log(blob)  
      const urlObject = URL.createObjectURL(blob)
      console.log(urlObject ) 
      window.open(urlObject, '_blank');
    }catch(err) {
      throw new Error("预览失败")
    }
}

接口返回的数据
在这里插入图片描述
打印res.headers['content-type']
在这里插入图片描述
响应头
在这里插入图片描述
请求头
在这里插入图片描述

打印blob
在这里插入图片描述
打印urlObject
在这里插入图片描述
文件预览
在这里插入图片描述


原文地址:https://blog.csdn.net/bbt953/article/details/144738575

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!