uniapp文件预览以及修改预览标题

常用预览

uniapp里面我们使用downloadFileopenDocument这两个api可以很简单实现对文档类型的文件预览。

const previewFile = (item: any) => {
   
  uni.downloadFile({
   
    url: 'https://文件地址.pdf',
    success: (res: any) => {
   
      uni.openDocument(
        filePath: res.tempFilePath,
        fileType: 'pdf',
        fail: (err) => {
   
          console.log(err)
          uni.showToast({
   
            title: '文件预览失败!',
            icon: 'error',
          })
        },
      })
    },
    fail: (err) => {
   
      console.log(err)
      uni.showToast({
   
        title: '文件预览失败!',
        icon: 'error',
      })
    },
  })
}

我们来看看效果:
在这里插入图片描述
看起来是没什么问题,只是我们会发现预览的时候文件标题竟然是一串奇怪的字符。其实这是该文件的临时文件名。因为使用downloadFile这个api会将文件临时存到本地,并且会返回该文件的临时地址,预览时候显示的标题就是文件的临时名称。很多时候我们需要自己定义文件标题,而不是临时文件名。

修改预览标题

  1. 我们可以直接将文件进行长期保存并直接重命名文件名,这种方式我们此处不过多叙述了。在我看来为了预览文件而保存一个文件是不合理的。
  2. 我们还可以直接使用downloadFilefilePath参数来定义文件名。
    const previewFile = (item: any) => {
         
      uni.downloadFile({
         
        url: item.url,
        // uni.env.USER_DATA_PATH表示的是临时路径
        filePath: `${
           uni.env.USER_DATA_PATH}/${
           我是自定义标题}.pdf`,
        success: (res: any) => {
         
          uni.openDocument({
         
            filePath: res.filePath,
            fileType: 'pdf',
            fail: (err) => {
         
              console.log(err)
              uni.showToast({
         
                title: '文件预览失败!',
                icon: 'error',
              })
            },
          })
        },
        fail: (err) => {
         
          console.log(err)
          uni.showToast({
         
            title: '文件预览失败!',
            icon: 'error',
          })
        },
      })
    }
    
    在这里插入图片描述

相关推荐

  1. uniapp图片

    2024-02-03 00:02:03       60 阅读
  2. uniapp——图片

    2024-02-03 00:02:03       32 阅读
  3. uniapp PDF文件/打开

    2024-02-03 00:02:03       55 阅读
  4. vue,uniapp的pdf等文件在线

    2024-02-03 00:02:03       63 阅读
  5. uniapp点击图片功能?

    2024-02-03 00:02:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 00:02:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 00:02:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 00:02:03       87 阅读
  4. Python语言-面向对象

    2024-02-03 00:02:03       96 阅读

热门阅读

  1. uniapp生命应用生命周期和页面生命周期

    2024-02-03 00:02:03       53 阅读
  2. LeetCode 面试热门 100 题(第 038 ~ 050题)

    2024-02-03 00:02:03       55 阅读
  3. 常用的数据库SQL语句使用大全

    2024-02-03 00:02:03       48 阅读
  4. 面了搜狐大模型算法岗(实习),有惊无险。。。

    2024-02-03 00:02:03       48 阅读
  5. 网络编程练习题(TCP)

    2024-02-03 00:02:03       49 阅读
  6. 一线大厂面试真题——谈谈你对ES的理解

    2024-02-03 00:02:03       51 阅读
  7. linux 上库五步走,经验贴

    2024-02-03 00:02:03       49 阅读
  8. Spark如何用累加器Accumulator收集日志

    2024-02-03 00:02:03       53 阅读
  9. unity打开外部exe,并将其置顶

    2024-02-03 00:02:03       52 阅读
  10. Kubernetes实战(二十二)-Pod时区修改

    2024-02-03 00:02:03       58 阅读
  11. C# Newtonsoft.Json解析json笔记

    2024-02-03 00:02:03       46 阅读