收藏
回答

wx.openDocument() 回调成功却无法打开pdf文件。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.openDocument() 客户端 7.0.4 2.7.0

- 预期表现

    每次调用可以直接打开pdf


最近的开发重要用到预览pdf 文件的需求,使用了代码如下

wx.showLoading({
          title: 'pdf预览准备中',
        })
        wx.downloadFile({
          url: e.currentTarget.dataset.pdf,
          success(res) {
            console.log(res)
            const filePath = res.tempFilePath
            setTimeout(function() {
              wx.openDocument({
                fileType:"pdf",
                filePath:filePath,
                success:function(res) {
                  console.log(res)
                  wx.hideLoading()
                },
                fail:function(e) {
                  console.log(e)
                }
              })
            }, 300)
          }
        })

上述代码在微信开发者工具中可以顺利运行。

在手机端(安卓)可以运行,其中两次回调皆为success,但是无法打开pdf文件。

IOS端则在使用了更新的基础库(2.7.0)且开启调试之后可以正常使用。


最后一次编辑于  2019-05-22
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2019-05-22

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-05-22
    赞同
    回复 23
    • czh
      czh
      2019-05-22

      荣耀 10 lite(hry-al00) 微信版本号: 7.0.4  系统版本号:emui 9.0.1.162

      2019-05-22
      回复
    • czh
      czh
      2019-05-22

      上述代码只要修改pdf 的下载链接(e.currentTarget.dataset.pdf)就足以复现问题。

      2019-05-22
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      2019-05-22回复czh

      上面提供的不是代码片段,麻烦按照教程指引来补充下代码片段

      2019-05-22
      回复
    • czh
      czh
      2019-05-22回复社区技术运营专员-娇华

      https://developers.weixin.qq.com/s/SfqiHymD7p8z

      2019-05-22
      回复
    • czh
      czh
      2019-05-22回复社区技术运营专员-娇华

      我这边另外测试了小米/其他的华为手机/iphone7&8都是可以打开的, 可能只有荣耀的手机不行叭【难过】

      2019-05-22
      回复
    查看更多(18)
登录 后发表内容