uniApp移动端安卓中使用webview打开pdf文件是下载而不是预览解决方案

关键 使用到 pdf.js

第一步:

下载pdf.js 文件到项目根目录

也就是这个文件

附下载地址:uni-app-pdf: 在uni-app中使用pdf.js实现在手机上打开pdf

也可通过其他方法下载 如npm

第二步:

拷贝hybrid文件到项目根目录

第三步:

新建 viewPdf.vue文件

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

<script setup lang="ts">
	import { ref, getCurrentInstance } from 'vue';
	import config from "@/utils/http/config.js";
	import { onLoad } from '@dcloudio/uni-app';
	const { proxy } : any = getCurrentInstance()
	let Url = ref()
	Url.value = config.filesUrl.dev

	let webViewSrc = ref()

	let viewerUrl = '/hybrid/html/web/viewer.html'; // 根目录文件地址

	onLoad((option : any) => {
		 // option.url 从其他需要预览pdf文件的页面传入的url
		let deviceInfo = uni.getDeviceInfo()
		if (deviceInfo.platform !== 'ios') {
			//option.url  就是预览的pdf地址
			webViewSrc.value = `${viewerUrl}?file=${Url.value + option.url}`
		} else {
			// ios,直接访问pdf所在路径
			webViewSrc.value = Url.value + option.url
		}

	})

</script>
第四步:

使用

javascript 复制代码
<template>
        <view @click="change_pdf(file_url)"> 点击查看附件 </view>  //file_url pdf文件路径
</template>



<script setup lang="ts">
	function change_pdf(url : any) {
		uni.navigateTo({
			url: `/pages/index/viewPdf?url=${url}`
		})
	}
</script>

注:ios可省略步骤 直接使用<web-view :src="文件路径"></web-view> 即可

相关推荐
联犀6 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
Dumbness10 小时前
订阅消息弹窗必须在用户点击里调:联调实验室里 timing 和 Mock 支付通知踩的坑
javascript·uni-app
码间留白1 天前
uni-app 鸿蒙离线打包:一个改动从源码到真机要穿过几条链
uni-app·鸿蒙·deveco·离线打包·uts插件
多客:duokelijie2 天前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
码间留白2 天前
鸿蒙端对接 BLE 血压计:从一次握手到读数入库(二)设备篇
物联网·uni-app·鸿蒙·蓝牙ble·血压计
华玥作者3 天前
Vue 3 + TypeScript + uni-app 组件库推荐:hy-app(华玥组件库)
vue.js·typescript·uni-app
FinelyYang3 天前
uniapp使用kkfileview在线预览ppt,excel,word,pdf类型文件
pdf·uni-app·powerpoint
2501_916008894 天前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
WORLDPO92264 天前
QTE-020-01-L/F/C-D-A-K-TR_实物_数据手册PDF_国产替代
pdf
ModyQyW4 天前
vite-plugin-uni-manifest 0.7:在 uni-app 读取之前生成
前端·uni-app