收藏
回答

为何wx.openDocument打不开Word docx文档?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.openDocument 微信安卓客户端 Version 8.0.23 2.24.5

上传Word文档到服务器,通过wx.downloadFile接口下载下来后,使用wx.openDocument打开下载的本地临时文件,跳转到WPS Office提示如下:

苹果手机测试是OK的,可以在小程序内部打开(和其他pdf/ppt等一样),不需要跳转WPS Office;Android和鸿蒙操作系统的手机都出现上面问题,实际上之前是可以打开的(不记得是小程序内部还是WPS Office了),而且经过测试在WPS Office小程序内是可以打开下载的临时文件的(虽然在我的小程序中打不开但进入WPS Office小程序可以看到最近打开Word文件的记录,直接点击就可以打开),如下图:

因此应该不是WPS Office的问题,中间有升级过微信开发者工具,个人判断大概率和升级该工具相关,可能是小程序跳转WPS Office没有处理好文档类型的传递导致的。

预期的效果应该是:小程序可以像接口声明的和其他类型文件一样(pdf/xls/xlsx/ppt/pptx)在内部打开doc/docx文件。

最后一次编辑于  2022-06-08
回答关注问题邀请回答
收藏

6 个回答

  • Demons
    Demons
    2022-06-08

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-06-08
    有用
    回复 5
    • 不良人
      不良人
      2022-06-09
      这个接口问题要提供啥代码片段,片段上面也给了,Android手机小程序调用该接口打开docx文档测试一下就出来了,你们是不好复现吗?
      2022-06-09
      回复
    • 泽济天下
      泽济天下
      2022-06-21回复不良人
      我也遇到这问题了,问下你解决了吗
      2022-06-21
      回复
    • 不良人
      不良人
      2022-06-22回复泽济天下
      并没有,要提供什么代码片段,然后就没有下文了,这么明显的接口BUG官方好像也不在意
      2022-06-22
      回复
    • 不良人
      不良人
      2022-06-23
      这个问题不应该是个别人碰到的问题吧,你们有验证该问题吗,就是wx.openDocument打开word就能复现,希望平台能尽快解决该问题,谢谢!
      2022-06-23
      回复
    • S
      S
      2023-03-07
      你们只会回复这个吗,ios只要是wx.openDocument打开文件就是不行,还需要怎么复现?
      2023-03-07
      回复
  • Emon宇悦有言
    Emon宇悦有言
    2022-08-30

    补充@长春恋芳华的解决方法,在wx.downloadFile中使用了filePath属性后,下载成功的返回值res里面是没有tempFilePath的,所以直接使用filePath就好。至于文件名,下载前获取到的文件里面肯定有文件名name或者originName属性的。

    2022-08-30
    有用 1
    回复 1
    • 杏
      2023-03-14
      666,可以
      2023-03-14
      回复
  • 天下
    天下
    2022-12-06

    为啥我的xlsx文件和xls文件还是不能预览呢

    2022-12-06
    有用
    回复
  • 长春恋芳华
    长春恋芳华
    2022-06-29

    我的也这样。。为啥真机调试后就打开,pdf还能打开,docx xls都打不开

    2022-06-29
    有用
    回复
  • 苍
    2022-06-27

    折腾了一下午打不开上社区看才发现不止我有这问题 怎么这么久都没人修

    2022-06-27
    有用
    回复
  • 不良人
    不良人
    2022-06-23

    有碰到该问题的也出来说说,感觉这个问题没有被重视呀,推不动啦😄

    2022-06-23
    有用
    回复 9
    • 长春恋芳华
      长春恋芳华
      2022-06-29
      我的搞定了,wx.downloadFile里面加上filePath: wx.env.USER_DATA_PATH + "/" + currentFileName,然后wx.openDocument里面filePath用res.filePath。。。注意不要用temp
      2022-06-29
      6
      回复
    • 不良人
      不良人
      2022-06-30回复长春恋芳华
      的确可以解决这个问题
      2022-06-30
      回复
    • WHO CARE
      WHO CARE
      2022-07-04回复长春恋芳华
      谢谢,用你的方法不报错了
      2022-07-04
      回复
    • chen
      chen
      2022-07-12
      这个currentFileName 怎么获取的
      2022-07-12
      回复
    • 小菜
      小菜
      2022-07-19回复长春恋芳华
      太强了
      2022-07-19
      回复
    查看更多(4)
登录 后发表内容