收藏
回答

openDocument打开文档一直无法打开?

openDocument api 在真机中打开文档一直无法打开,但是提醒打开文档成功,这是为啥呢?路径都拿到了


最后一次编辑于  09-04
回答关注问题邀请回答
收藏

8 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    09-05

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

    09-05
    赞同 1
    回复 4
    • 我叫张小咩²⁰¹⁹
      我叫张小咩²⁰¹⁹
      10-09
      用户文件最多是10MB,openDocument必须使用本地filePath,意思就是可预览最大10MB的文件吗?
      10-09
      1
      回复
    • 我叫张小咩²⁰¹⁹
      我叫张小咩²⁰¹⁹
      10-09
      我看腾讯文档可以打开10MB以上的文件,是不是开了后门啊?
      10-09
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      10-10回复我叫张小咩²⁰¹⁹
      wx.downloadFile返回的是临时文件路径
      10-10
      回复
    • 我叫张小咩²⁰¹⁹
      我叫张小咩²⁰¹⁹
      10-14回复社区技术运营专员-灵芝
      谢谢,搞明白了,download的时候不应该指定filePath
      10-14
      回复
  • 孙佳琪
    孙佳琪
    09-29

    我的为什么一会可以打开,一会打不开的?

    09-29
    赞同 2
    回复 10
    • 琳木兮
      琳木兮
      09-29
      你在手机上试试
      09-29
      回复
    • 孙佳琪
      孙佳琪
      09-29回复琳木兮
      开发工具可以打开,真机调试有时可以打开有时打不开,体验版试了几个打不开。而且openDocument执行了success
      09-29
      回复
    • 琳木兮
      琳木兮
      09-29
      你的文档是从链接是从后台拿的吧,
      09-29
      回复
    • 孙佳琪
      孙佳琪
      09-29回复琳木兮
      对,后端返回的
      09-29
      回复
    • 孙佳琪
      孙佳琪
      09-29回复琳木兮
      请问你的pdf的文档可以打开了吗?
      09-29
      回复
    查看更多(5)
  • 琳木兮
    琳木兮
    09-04

    openFile(filePath) {

    wx.showLoading({

    title: "正在打开中",

    icon: "loading",

    duration: 2000

    });

    wx.downloadFile({

    url: filePath,

    success: (res) => {

    console.log("11111", res);

    const filePath = res.tempFilePath;

    var index = filePath.lastIndexOf(".");

    let fileType = filePath.substring(index + 1, filePath.length);

    let openFileType;

    switch (fileType) {

    case "docx":

    openFileType = "docx";

    break;

    case "word":

    openFileType = "docx";

    break;

    case "excel":

    openFileType = "xlsx";

    break;

    case "xlsx":

    openFileType = "xlsx";

    break;

    case "xls":

    openFileType = "xls";

    break;

    case "ppt":

    openFileType = "ppt";

    break;

    case "pptx":

    openFileType = "pptx";

    break;

    case "pdf":

    openFileType = "pdf";

    break;

    default:

    openFileType = "doc";

    break;

    }

    wx.openDocument({

    filePath: filePath,

    fileType: openFileType,

    success: (res) => {

    console.log("打开文档成功");

    },

    fail: (res) => {

    console.log(res);

    }

    });

    },

    fail: (res) => {

    console.log(res);

    wx.showToast({

    title: "文件下载失败"

    });

    },

    complete: () => {

    wx.hideLoading();

    }

    });

    },


    09-04
    赞同 1
    回复
  • 岁月间
    岁月间
    星期五 15:13

    ios打开文档报错  安卓没有问题 文档地址https://e6kang.oss-cn-hangzhou.aliyuncs.com/develop/2019-12-06/5de9ff69d70a0.xlsx


    星期五 15:13
    赞同
    回复
  • Y
    Y
    10-22

    楼主解决了吗,我手机也是有时能打开有时打不开,有的手机就一直打不开,然后开发者工具一直能打开。。。

    10-22
    赞同
    回复 5
    • 🐬慧
      🐬慧
      10-22
      我的问题解决了,是需要在后台配置一下下载路径
      10-22
      回复
    • Y
      Y
      10-22回复🐬慧
      小程序后台配置文件域名吗还是什么?能具体说一下吗
      10-22
      回复
    • 🐬慧
      🐬慧
      10-22回复Y
      对,在小程序的后台中配置一下downloadFile合法域名,试一下。
      10-22
      回复
    • Y
      Y
      10-22回复🐬慧
      试了下还是不行。。。😭
      10-22
      回复
    • 🐬慧
      🐬慧
      10-22回复Y
      贴下代码和你的域名配置看一下
      10-22
      回复
  • ______fyx 🐳
    ______fyx 🐳
    09-05

    测试工具能打开文档吗?我感觉我们俩遇到的问题一样

    09-05
    赞同
    回复 6
    • 琳木兮
      琳木兮
      09-05
      能,就是真机上打不开,你的也是一样吗?
      09-05
      回复
    • ______fyx 🐳
      ______fyx 🐳
      09-05回复琳木兮
      我的是安卓上能打开,IOS打不开。通过downloadFile获取的临时文件格式,和要下载不一样
      09-05
      回复
    • ______fyx 🐳
      ______fyx 🐳
      09-05回复______fyx 🐳
      官方给我的回复是,服务器返回加上content-type
      09-05
      回复
    • 琳木兮
      琳木兮
      09-05回复______fyx 🐳
      我安卓没有试过,我用的ios打不开,那你是怎么做的?代码可以给我看一下吗?
      09-05
      回复
    • 琳木兮
      琳木兮
      09-05回复______fyx 🐳
      我昨天问了官网,官网也没有回复我
      09-05
      回复
    查看更多(1)
  • ZYM
    ZYM
    09-04
    ( '▿ ' )
    09-04
    赞同
    回复 1
    • 琳木兮
      琳木兮
      09-05
      啥?
      09-05
      回复
  • 铭锋科技
    铭锋科技
    09-04

    请提供能复现问题的代码片段

    https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    09-04
    赞同
    回复 3
    • 琳木兮
      琳木兮
      09-04
      openFile(filePath) { wx.showLoading({ title: "正在打开中", icon: "loading", duration: 2000 }); wx.downloadFile({ url: filePath, success: (res) => { console.log("11111", res); const filePath = res.tempFilePath; var index = filePath.lastIndexOf("."); let fileType = filePath.substring(index + 1, filePath.length); let openFileType; switch (fileType) { case "docx": openFileType = "docx"; break; case "word": openFileType = "docx"; break; case "excel": openFileType = "xlsx"; break; case "xlsx": openFileType = "xlsx"; break; case "xls": openFileType = "xls"; break; case "ppt": openFileType = "ppt"; break; case "pptx": openFileType = "pptx"; break; case "pdf": openFileType = "pdf"; break; default: openFileType = "doc"; break; } wx.openDocument({ filePath: filePath, fileType: openFileType, success: (res) => { console.log("打开文档成功"); }, fail: (res) => { console.log(res); } }); }, fail: (res) => { console.log(res); wx.showToast({ title: "文件下载失败" }); }, complete: () => { wx.hideLoading(); } }); },
      09-04
      回复
    • 琳木兮
      琳木兮
      09-04回复琳木兮
      代码在下面
      09-04
      回复
    • 铭锋科技
      铭锋科技
      09-04回复琳木兮
      请做成代码片段形式,https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      09-04
      回复
问题标签