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配置项

相关推荐
清音啊2 小时前
Uniapp 实现左滑显示操作按钮的列表(适配多端 + 实战案例)
uni-app
蜡台2 小时前
Uniapp 实现 二手车价格评估 功能
前端·javascript·uni-app·估值·汽车抵押·二手车评估
大傻^2 小时前
Spring AI Alibaba 文档智能处理:PDF、Markdown知识入库全链路
java·人工智能·spring·pdf·知识图谱·springai·springaialibaba
Muchen灬3 小时前
【uniapp】(4) tabbar配置
uni-app
zzh940775 小时前
2026年AI文件上传功能实战:聚合站处理图片、PDF、PPT全指南
人工智能·pdf·powerpoint
万物得其道者成6 小时前
UniApp 与 H5 双向通信完整教程
uni-app
2501_9160074720 小时前
HTTPS 抓包的流程,代理抓包、设备数据线直连抓包、TCP 数据分析
网络协议·tcp/ip·ios·小程序·https·uni-app·iphone
游戏开发爱好者821 小时前
React Native iOS 代码如何加密,JS 打包 和 IPA 混淆
android·javascript·react native·ios·小程序·uni-app·iphone
2501_915918411 天前
iOS mobileprovision 描述文件管理,新建、下载和内容查看
android·ios·小程序·https·uni-app·iphone·webview