【js】记录预览pdf文件

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

javascript 复制代码
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

文件预览

相关推荐
云泽80814 分钟前
C++ List 容器详解:迭代器失效、排序与高效操作
开发语言·c++·list
云帆小二35 分钟前
从开发语言出发如何选择学习考试系统
开发语言·学习
少卿35 分钟前
React Compiler 完全指南:自动化性能优化的未来
前端·javascript
爱隐身的官人1 小时前
beef-xss hook.js访问失败500错误
javascript·xss
光泽雨1 小时前
python学习基础
开发语言·数据库·python
军军3601 小时前
从图片到点阵:用JavaScript重现复古数码点阵艺术图
前端·javascript
znhy@1231 小时前
Vue基础知识(一)
前端·javascript·vue.js
裤裤兔1 小时前
python爬取pdf文件并保存至本地
chrome·爬虫·python·pdf·网络爬虫
百***06012 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
学习吖2 小时前
vue中封装的函数常用方法(持续更新)
大数据·javascript·vue.js·ajax·前端框架