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

stephen Curry_ 2024-07-26 13:33:03 阅读 69

关键 使用到 pdf.js

第一步:

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

也就是这个文件

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

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

第二步:

拷贝hybrid文件到项目根目录

第三步:

新建 viewPdf.vue文件

<code><template>

<view>

<web-view :src="webViewSrc"></web-view>code>

</view>

</template>

<script setup lang="ts">code>

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>

第四步:

使用

<template>

<view @click="change_pdf(file_url)"> 点击查看附件 </view> //file_url pdf文件路径code>

</template>

<script setup lang="ts">code>

function change_pdf(url : any) {

uni.navigateTo({

url: `/pages/index/viewPdf?url=${url}`

})

}

</script>

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。