【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

文件预览

相关推荐
承渊政道7 小时前
星空组网+Python实战:在另一台电脑上查看CSV报表
运维·开发语言·python·csv·星空组网
Liquad Li9 小时前
Salesforce 主流认证方式、流程、适用场景
开发语言·salesforce
LOVE️YOU12 小时前
Python 中 Tuple 为什么有时可 Hash,有时不可 Hash?
开发语言·python·哈希算法
李永奉12 小时前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
小oo呆12 小时前
【学习心得】迭代器和可迭代对象
开发语言·python
AC赳赳老秦12 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
钱栈up13 小时前
mvn compile 卡死在 javac 阶段:一次类型不匹配的排查与修复
java·开发语言
迅猛龙办公室13 小时前
Python输出当前计算机的系统日期和时间
开发语言·前端·python
泡海椒13 小时前
数据占比展示:jquick-pdf饼图动态数据渲染PDF教程
数据库·oracle·pdf
杨丰玮41813 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言