微信小程序下载pdf , 分享pdf , 打开pdf

文章讲述了在微信小程序中,如何避免因分享pdf文件时url仅提供下载链接的问题,通过`downloadFile`下载到自定义目录并使用`openDocument`打开,以及正确使用`shareFileMessage`分享pdf文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开并查看pdf

微信小程序downloadFile 原文链接

 const that = this
    const randFile = new Date().getTime() + '.pdf'   // 设置需要存储的地址
    wx.downloadFile({
      url: that.data.filePath, // 后端请求url下载地址
      // 使用自定义目录(文件路径)进行下载/保存 需要设置的地址
      filePath: `${wx.env.USER_DATA_PATH}/${randFile}`,
      success(res) {
        wx.openDocument({
          // 注意 : 文件地址是 filePath
          filePath: res.filePath,
          showMenu: true,
          fileType: 'pdf',
          success() {
            console.log("打开文档成功")
          }
        })
      }
    })

使用自定义目录进行保存下载查看的原因是在于 showMenu: true 查看文档时,进行分享,当前分享的后缀会丢失,只会获取地址 (这个地址是文件下载地址,不是文件查看文件), 分享给其他人时,是无法正常打开此文件

分享pdf文件

微信小程序shareFileMessage 原文链接


 const randFile = new Date().getTime() + '.pdf'
    wx.downloadFile({
      url: this.data.filePath,
      filePath: `${wx.env.USER_DATA_PATH}/${randFile}`,
      success(res) {
        wx.shareFileMessage({
          filePath: res.filePath
        })
      }
    })

总结

下载地址 url 如果直接是 .pdf 结尾的文件,不需要下载可直接查看pdf文档,可以直接使用微信小程序官网提供的方法,如果像是我这次遇到的,下载连接 url 只是一个下载链接,需要进行转换一下,避坑 ,避坑 ,避坑!!!!!!!!

### 微信小程序开发文档 PDF 下载 对于微信小程序中实现开发文档的 PDF 版本下载,可以采用如下方式: 当 URL 是以 `.pdf` 结尾时,可以直接利用微信内置浏览器打开并查看该 PDF 文件[^1]。然而,在实际应用中,如果遇到的是一个仅用于触发下载行为而非直接指向 PDF 资源的链接,则需采取额外措施来处理这种情况。 为了确保能够顺利获取到目标文件而不是 HTML 页面或其他类型的响应数据,建议先发送 HTTP 请求检查服务器返回的内容类型(Content-Type),确认其确实是 application/pdf 类型后再执行进一步操作。此外,还可以考虑使用 wx.downloadFile API 来完成具体下载任务,并设置合适的参数以便保存至本地缓存目录或临时文件路径下供后续查阅[^2]。 下面是一段简单的代码片段展示如何调用微信小程序中的 `wx.downloadFile()` 方法来进行 PDF 文档下载: ```javascript // 假设 pdfUrl 为有效的 PDF 文件下载链接 const pdfUrl = 'https://example.com/path/to/document.pdf'; function downloadPdf() { wx.downloadFile({ url: pdfUrl, success(res) { const filePath = res.tempFilePath; console.log('Downloaded file path:', filePath); // 使用 wx.openDocument 打开下载PDF 文件 wx.openDocument({ filePath: filePath, fileType: 'pdf', success() { console.log('Opened the downloaded PDF successfully.'); }, fail(err) { console.error('Failed to open the downloaded PDF.', err); } }); }, fail(err) { console.error('Failed to download the PDF.', err); } }); } ``` 此代码展示了如何通过指定合法的 PDF 文件 URL 并调用相应的小程序接口来实现自动下载以及立即预览的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值