blob文件流前端显示pdf

首先请求需要修改
responseType: ‘blob’, 需要修改

请求头
{
   
        responseType: 'blob',
        url: url,
        method: 'get',
    }

三种方法:

1.直接处理,在新页面打开

const blob = new Blob([data],{
   
type:'application/pdf'
})
let url = window.URL.createObjectURL(blob)
window.open(url,'_blank')
问题在于父页面关闭或者刷新后,文件页面获取不到文件流,刷新显示空白页。

2.在新页面用iframe接

<iframe :src='xxxxxx'>
问题在于点击iframe中文件之后无法在iframe监听事件,ctrl+p 显示空白

3.使用pdf.js

到 mozilla.github.io/pdf.js/gett… 页面中找到下载位置,下载 PDF.js
在viewer.js 修改
注释下列代码   不然 可能会出现跨域错误,无法正常预览文件
if (origin !== viewerOrigin && protocol !== "blob:") {
   
  throw new Error("file origin does not match viewer's");
}

随后在页面展示
let path = window.URL.createObjectURL(blob)
const fileUrl = '/pdfjs2/web/viewer.html'
// 生产环境下
if (process.env.NODE_ENV === 'production') {
   
  this.pdfurl = fileUrl + '?file=' + encodeURIComponent(path)
} else {
   
// 开发环境
  this.pdfurl = fileUrl + '?file=' + encodeURIComponent(path)
}

修改清晰度    --注意清晰度越高,打印预览时 谷歌内核滚动条越卡
this._printResolution = 450//printResolution || 150
新版本的pdf.js viewer.js被改为mjs,上线时nginx需要修改
另外还有个bug 在一个页面打印预览时,同源的其他页面无法点击

相关推荐

  1. blob文件前端显示pdf

    2023-12-29 12:14:02       46 阅读
  2. vue3 blob下载文件

    2023-12-29 12:14:02       39 阅读
  3. 前端下载导出文件,excel/word/pdf/zip等

    2023-12-29 12:14:02       64 阅读
  4. 前端预览pdf文件(后端返回pdf文件)

    2023-12-29 12:14:02       31 阅读
  5. 前端下载文件

    2023-12-29 12:14:02       31 阅读
  6. uniapp 显示文件图片

    2023-12-29 12:14:02       65 阅读
  7. vue下载文件文档打开只有[object Blob](排错)

    2023-12-29 12:14:02       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 12:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 12:14:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 12:14:02       82 阅读
  4. Python语言-面向对象

    2023-12-29 12:14:02       91 阅读

热门阅读

  1. 相比于其他流处理技术,Flink的优点在哪?

    2023-12-29 12:14:02       48 阅读
  2. Linux实现ssh公钥登录的步骤

    2023-12-29 12:14:02       60 阅读
  3. linux firewalld简介

    2023-12-29 12:14:02       62 阅读
  4. 面试经典150题(55-58)

    2023-12-29 12:14:02       55 阅读
  5. 【数据库】PostgreSQL中的DISTINCT ON和DISTINCT的区别

    2023-12-29 12:14:02       59 阅读
  6. MD5算法

    MD5算法

    2023-12-29 12:14:02      60 阅读
  7. 编程语言的未来?

    2023-12-29 12:14:02       53 阅读
  8. SpringBoot 中实现订单30分钟自动取消的策略

    2023-12-29 12:14:02       59 阅读
  9. Redis使用中的常见问题及解决方案

    2023-12-29 12:14:02       63 阅读