0


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

关键 使用到 pdf.js

第一步:

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

也就是这个文件

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

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

第二步:

拷贝hybrid文件到项目根目录

第三步:

新建 viewPdf.vue文件

<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>
第四步:

使用

<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> 即可

标签: uni-app pdf

本文转载自: https://blog.csdn.net/m0_65544665/article/details/137465120
版权归原作者 stephen Curry_ 所有, 如有侵权,请联系我们删除。

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

还没有评论