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

相关推荐
reasonsummer6 小时前
【办公类-53-12】20261016(预测)Python模仿制作2026学年第二学期校历(excel+pdf,上下学期都包含)
pdf·excel
开开心心就好10 小时前
多份文档怎么批量打印?支持多种格式
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
开开心心就好11 小时前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr
BD_Marathon15 小时前
PyPDFLoader和MinerU加载pdf文件
pdf
2301_322414280421 小时前
springboot学生课堂出勤统计系统15835-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·mysql·随机森林·微信小程序·uni-app·微信开发者工具·推荐算法
ydjs678899-bot2 天前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
SamChan902 天前
PDF 翻译后 1,250 变成 1.250,是错了吗?用 Python 核对数字格式
python·pdf·ocr·数据校验·文档翻译
开开心心就好2 天前
打印机卡住打不了?一键清理卡死打印队列
服务器·开发语言·算法·pdf·ocr·idea·visual studio code
打工仔折腾 AI3 天前
在线PDF工具隐私焦虑?把BentoPDF部署到极空间NAS本地处理
人工智能·后端·python·pdf·ai agent 实战
霸道流氓气质3 天前
AI 简历制作平台:结构化输出解析、多模板渲染与 PDF 导出的 Vue3 + Spring AI 全栈实战
人工智能·spring·pdf