首页 > 其他分享 >uniapp请求数据流在真机上预览pdf

uniapp请求数据流在真机上预览pdf

时间:2023-07-14 11:11:06浏览次数:46  
标签:uniapp 预览 image js file 数据流 pdf tools

1.请求后端的数据流

image-tools.js的代码自行到网上下载,放到utils文件夹里

//映入image-tools插件
import { base64ToPath } from '@/utils/image-tools.js'

//省略部分代码.....

//请求数据流方法
lookBg() { let params = { }
          // 接收数据的格式是arraybuffer reportInfo(params).then(res => { this.msg = `data:application/pdf;base64,${uni.arrayBufferToBase64(res.data)}`; setTimeout(() => {
            // 数据处理生成路径 this.receiveRenderData(1) }, 100) }) },
  receiveRenderData(val) {
              let result = this.msg.replace(/[\r\n]/g, '');
              //需要引入数里数据的image-tools.js的base64ToPath方法
              base64ToPath(result).then(path => {
                  // 生成本地路径
                  var p = plus.io.convertLocalFileSystemURL(path);
                  let keys = 'file://' + p;
                  // 跳转到webview页面传递本地路径过去
                  uni.navigateTo({
                    url: '/pages/file/file?url=' + keys + '&&type=' + val
                  })
              })
              .catch(error => {
                  console.error(error)
              })
            },

2.接下来就是一个插件pdf.js

插件连接是https://mozilla.github.io/pdf.js/

下载如图的压缩包

 解压之后在根目录新建一个文件夹hybrid,里面再建一个html,按照这个顺序放文件进去

 3.新建一个file页面

在pages.json配置一下路径

file页面的主要代码是

<view>
       <web-view :src="allUrl" :fullscreen="false" class="webviewstyles">
       </web-view>
</view>

<script>
 export default {
  data() {
    return {
      allUrl: '',

      }
    },

  onLoad(options) {
    this.allUrl = '/hybrid/html/web/viewer.html' + '?file=' + options.url;
    this.type = options.type
   }

},

</script>

然后这个预览就完成了

标签:uniapp,预览,image,js,file,数据流,pdf,tools
From: https://www.cnblogs.com/xuan99/p/17553108.html

相关文章

  • html2canvas + jspdf 实现前端将页面内容生成 PDF
    一、简易步骤(仅支持下载一页,无法分页)1.下载插件模块npminstallhtml2canvasjspdf--save2.编写代码importhtml2canvasfrom'html2canvas'//引入插件import{jsPDF}from'jspdf'//html2canvsjspdfpdf文件下载exportconstdownloadPdf=(dom,name......
  • 解决财报分析 PDF python的具体操作步骤
    财报分析PDFpython背景介绍财报分析是金融和会计领域的重要任务之一。财报是公司对外公布的财务信息的集合,通常以PDF的形式发布。为了从财报中提取有用的数据和进行深入分析,我们可以使用Python编程语言和相关的库来处理PDF文件。本文将介绍如何使用Python处理财报PDF并进行分析......
  • C# 12新预览功能介绍
    VisualStudio17.7Preview3和.NET8Preview6延续了C#12的发展。该预览版包含的功能旨在为未来的性能增强奠定基础。对内联数组的轻松访问将允许库在更多地方使用它们,而无需您花费精力。该预览版首次推出了名为拦截器(interceptors)的实验性功能,允许生成器重新路由代码,例如提供......
  • [Vue] 使用pdf-lib和@pdf-lib/fontkit 报错 fontkit.create is not a function
    描述:pdf-lib注册了@pdf-lib/fontkit后(pdfDoc.registerFontkit(fontkit)),内部调用了fontkit的create方法,但是这个方法不存在。我在控制台打印了下fontkit对象,发现fontkit包了一层default,即 fontkit.default.create(),所以找不到这个方法, pdf-lib使用的是 fo......
  • uniapp windows 上架 apple store
    香蕉云蒲公英ios上架助手iOSDevelopment开发!先用上架助手在certificates里面生成一个p12文件在profiles里面生成mobileprovision文件就欧克了需要公司提供苹果开发者账号即可1.打开苹果开发者官网点击打开链接 2.点击这个选项打开开发者配置需要注册账号并花钱加......
  • uniapp 微信小程序 camera 组件,测试版和体验版都正常,上线后全量发布扫码就是白屏,
    解决办法:需要更新隐私协议右边菜单最下面“设置”—拖到下方服务内容声明块--去完善用户隐私保护指引 ......
  • 【专题】保险行业数字化洞察白皮书报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33203原文出处:拓端数据部落公众号近年来,"养老"、"三胎政策"、"医疗成本"等一系列备受关注的民生话题,使得保险服务备受瞩目,并逐渐渗透到每个人的生活中。自2020年以来,由于多种因素的影响,人们对健康的意识不断提高,这正在重新塑造中国消费者对保险的......
  • 【专题】2022年中国跨境电商行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32044近年来,我国的跨境电子商务发展迅速,在过去五年中,其贸易额增长率达到了16.2%,已经成为稳定对外贸易的一支重要力量(查看文末了解报告PDF版本免费获取方式)。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了进一步的改善,跨境电子商务的规......
  • vue 打开浏览器新标签页预览 pdf 和 txt 文档,以及新标签页标题修改
    1//在线查看2showOnline({id,fileExt,fileName}){3if(fileExt&&['jpg','jpeg','gif','bmp','png'].includes(fileExt.toLowerCase())){4download(`/file-item/${id}/downl......
  • uniapp微信小程序分包
    1.在manifest配置以下节点,可以在App端启动分包。查看文档"app-plus":{"optimization":{"subPackages":true},"runmode":"liberate"//开启分包优化后,必须配置资源释放模式}一旦在pages.json里配置分包,小程序一定生效,而app是否生效,取决于manifest里是......