返回

开箱即用!uni.saveFile 帮您快速预览各种格式文件!

前端

用 uni.saveFile 征服小程序文件预览烦恼

作为小程序开发者,你是否曾经遇到过在真机上调试文件预览时一切正常,但在发布体验版后却无法打开文件的问题?这是因为小程序的体验版和真机环境不同,真机上可以打开的文件在体验版中可能无法正常预览。

但现在,你可以向这些烦恼说再见了!uni.saveFile 闪亮登场,它将成为你小程序文件预览的得力助手。

uni.saveFile 的超能力

uni.saveFile 拥有三大超能力,让你轻松解决文件预览问题:

  1. 兼容多种文件格式: doc, xls, ppt, pdf, docx, xlsx, pptx
  2. 适用于小程序真机调试和体验版: 让你的文件预览不受环境限制
  3. 可自定义文件名: 便于你管理和查找文件

三步搞定文件预览

使用 uni.saveFile 仅需三步即可:

  1. 将文件保存到本地
  2. 设置文件名
  3. 预览文件

具体步骤如下:

// 将文件保存到本地
uni.saveFile({
  tempFilePath: 'xxx',
  filePath: 'xxx',
  success: (res) => {
    console.log('文件保存成功');
  },
  fail: (err) => {
    console.log('文件保存失败');
  }
});

// 设置文件名
uni.setClipboardData({
  data: 'xxx',
  success: (res) => {
    console.log('文件名设置成功');
  },
  fail: (err) => {
    console.log('文件名设置失败');
  }
});

// 预览文件
uni.previewFile({
  filePath: 'xxx',
  success: (res) => {
    console.log('文件预览成功');
  },
  fail: (err) => {
    console.log('文件预览失败');
  }
});

常见问题解答

  1. 文件打不开?

    • 检查文件地址是否正确
    • 检查文件名是否正确
    • 检查文件格式是否受支持
  2. 文件无法下载?

    • 检查文件大小是否超过限制
    • 检查网络连接是否正常
  3. 文件无法预览?

    • 检查小程序版本是否支持
    • 检查文件格式是否受支持

告别烦恼,尽享文件预览

uni.saveFile ,你的文件预览神器!赶快体验,告别文件预览烦恼,让你的小程序更加出色!

附录:代码示例

完整代码示例:

uni.chooseFile({
  count: 1,
  success: (res) => {
    // 将文件保存到本地
    uni.saveFile({
      tempFilePath: res.tempFilePaths[0],
      filePath: `${uni.env.USER_DATA_PATH}/myFile.docx`,
      success: (res) => {
        // 设置文件名
        uni.setClipboardData({
          data: '我的文件.docx',
          success: (res) => {
            // 预览文件
            uni.previewFile({
              filePath: `${uni.env.USER_DATA_PATH}/myFile.docx`,
              success: (res) => {
                console.log('文件预览成功');
              },
              fail: (err) => {
                console.log('文件预览失败');
              }
            });
          },
          fail: (err) => {
            console.log('文件名设置失败');
          }
        });
      },
      fail: (err) => {
        console.log('文件保存失败');
      }
    });
  },
  fail: (err) => {
    console.log('文件选择失败');
  }
});