uniapp 在h5中预览pdf hybrid方法

uniapp 在H5中预览PDF的Hybrid方法技术

直接把hybrid文件放置在static文件下,hybrid文件下载地址

https://pan.baidu.com/s/1FsRAvrD2WkDHWUVwrHKE4A 提取码: 8888

页面当中使用方法 接口当中返回的类型是文件流类型

javascript 复制代码
<template>
	<view>
    	<web-view :src="allUrl"></web-view>
	</view>
</template>

<script>
 export default {
	data() {
		return {
       		allUrl: '',
       		indexName: '',
       		id: ''
		}
	},
  onLoad(option) {
    this.indexName = option.indexName
    this.id = option.id
    this.getPdf() 
  },
  methods: {
      getPdf() {
				uni.request({
					url: uni.getStorageSync('requestBaseUrl') + '/search/api/DownLoadDoc?fileType='+'pdf'+'&dataid='+ this.id+'&index='+this.indexName,// 请求的接口地址以及传参
					responseType: 'arraybuffer', //这里记得设置响应数据格式,不然预览的pdf是空白
			        header: {
			            'lawToken': uni.getStorageSync('lawToken') // 此处是接口当中需要的token,按自己情况修改
			        },
					success: (response) => {
						if (!response) {
							uni.showToast({
								title: "预览失败",
								duration: 2000
							});
						}
						let pdfData = response.data; //pdfData是后端返回的文件流
						let blob = new Blob([pdfData], {
							type: 'application/pdf'
						})
						pdfData = window.URL.createObjectURL(blob) //创建预览路径  
							//路径是hybrid放置的路径!!!!
            			this.allUrl = `/static/hybrid/html/web/viewer.html?file=${encodeURIComponent(pdfData)}`
          			},
					fail: err => {
						console.log(err)
					} 
       			 });
        
			}
    	}
	}
</script>
<style lang="less" >
</style>

如果本地运行没问题,打包部署以后报mjs文件错误,需要后端配置MIME type文件,可参考这篇文档https://cloud.tencent.com/developer/article/2444748

如果是IIS部署的 可以参考这个 添加.mjs和.ftl配置项

相关推荐
我爱写代码i5 小时前
AI对话绘画数字人源码 - uniapp前端
前端·人工智能·uni-app
ModyQyW6 小时前
vite-plugin-uni-pages 更新了什么
前端·uni-app
庖丁AI10 小时前
PDF 转 Markdown 工具怎么选?AI 知识库和 RAG 场景要注意什么
人工智能·pdf·文档解析
几层山下11 小时前
WPS的word文档转pdf java实现不乱格式生成-已解决
java·pdf·word·wps
2501_9159184113 小时前
Flutter项目配置iOS混淆的详细步骤与工具推荐
android·flutter·ios·小程序·uni-app·cocoa·iphone
梦曦i13 小时前
create-uni-app v1.2.0:交互体验优化
前端·uni-app
lhldsg1 天前
智慧场馆解决方案小程序开发实战:从架构设计到部署指南
java·小程序·uni-app
skiyee1 天前
🚀 用 17 行代码给 UniApp 加上全局登录拦截
前端·uni-app
DevOpenClub1 天前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
Mark108591 天前
【踩坑】Uni-app微信小程序自定义组件在 Flex 布局中未铺满整行
微信小程序·小程序·uni-app