评论

微信小程序中如何查看分享文件

如何分享doc,excel,ppt,pdf文件给微信用户

在小程序中,为了安全,微信提供了只能打开特定类型的文档,目前支持的有(Word,Excel,PPT,Pdf)。

我们有这样的一个需求场景,用户提交开票信息后,可以预览查看并下载发票。如果使用小程序怎么实现呢?

我们需要用到小程序提供的两个API:

1,wx.openDocument,新开页面打开文档。

wx.downloadFile({
  // 示例 url,并非真实存在
  url: 'http://example.com/somefile.pdf',
  success: function (res) {
    const filePath = res.tempFilePath
    wx.openDocument({
      filePath: filePath,
      success: function (res) {
        console.log('打开文档成功')
      }
    })
  }
})


2,wx.shareFileMessage,转发文件到聊天。

wx.downloadFile({
    url: URL, // 下载url
    success (res) {
      // 下载完成后转发
      wx.shareFileMessage({
        filePath: res.tempFilePath,
        success() {},
        fail: console.error,
      })
    },
    fail: console.error,
  })


大概的操作思路如下:根据用户提交的发票信息,在后台生成发票,并导出为PDF文件供用户下载。用户下载后调用openDocument预览文件。调用shareFileMessage分享给用户,或文件传输助手,然后通过微信PC客户端可以保存到电脑上。


点赞 0
收藏
评论

3 个评论

  • Frank
    Frank
    08-18

    我也正想实现这个功能,可是一直搞不定。 就是希望把一个下载的 MP3 分享给好友。 在微信小程序中如何做到呀? AI 也搞不定

    08-18
    赞同
    回复 2
    • 神经蛙
      神经蛙
      发表于小程序端
      08-18

      你看下豆子工具小程序中的音频格式转换功能是不是你想要的?是的话我告诉你方法

      08-18
      回复
    • 神经蛙
      神经蛙
      发表于小程序端
      08-23

      可以了吗?将下载的mp3文件调用share 分享给好友api

      08-23
      回复
  • [小狗]
    [小狗]
    2023-03-07

    大佬,wx.openDocument这个方法ios打开页面空白,您那边有这样的问题么

    2023-03-07
    赞同
    回复
  • Jianbo
    Jianbo
    发表于小程序端
    2023-02-02

    没太懂你的诉求,我的理解有问题?打开分享文件?你的代码里不是有打开文件的方法?

    2023-02-02
    赞同
    回复 2
    • 神经蛙
      神经蛙
      发表于小程序端
      2023-02-02

      文章分享

      2023-02-02
      回复
    • 神经蛙
      神经蛙
      发表于小程序端
      2023-02-02

      我本意是想分享一下我的经验。可能我没有表达清楚吧,碰到同类的需求可以通过这个方法来解决。

      2023-02-02
      回复
登录 后发表内容