收藏
回答

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

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


回答关注问题邀请回答
收藏

9 个回答

  • 孙佳琪
    孙佳琪
    2019-09-29

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

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

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

    2019-09-05
    有用 1
    回复 6
    • 我叫张小咩²⁰²¹
      我叫张小咩²⁰²¹
      2019-10-09
      用户文件最多是10MB,openDocument必须使用本地filePath,意思就是可预览最大10MB的文件吗?
      2019-10-09
      1
      回复
    • 我叫张小咩²⁰²¹
      我叫张小咩²⁰²¹
      2019-10-09
      我看腾讯文档可以打开10MB以上的文件,是不是开了后门啊?
      2019-10-09
      回复
    • 灵芝
      灵芝
      2019-10-10回复我叫张小咩²⁰²¹
      wx.downloadFile返回的是临时文件路径
      2019-10-10
      回复
    • 我叫张小咩²⁰²¹
      我叫张小咩²⁰²¹
      2019-10-14回复灵芝
      谢谢,搞明白了,download的时候不应该指定filePath
      2019-10-14
      回复
    • ?
      2019-12-12
      iOS 12.2 系统调用打开 pdf、doc还是无反应!!
      2019-12-12
      回复
    查看更多(1)
  • 琳木兮
    琳木兮
    2019-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();

    }

    });

    },


    2019-09-04
    有用 1
    回复
  • 宋小白
    宋小白
    2020-04-08

    检查 downloadFile 合法域名是否正确,这个容易被忽略

    2020-04-08
    有用
    回复
  • 岁月间
    岁月间
    2019-12-06

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


    2019-12-06
    有用
    回复 1
    • DO
      DO
      2020-09-10
      请问你的问题解决了吗,遇到了同样的问题
      2020-09-10
      回复
  • Y
    Y
    2019-10-22

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

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

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

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

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

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

    2019-09-04
    有用
    回复 3
    • 琳木兮
      琳木兮
      2019-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(); } }); },
      2019-09-04
      回复
    • 琳木兮
      琳木兮
      2019-09-04回复琳木兮
      代码在下面
      2019-09-04
      回复
    • 铭锋科技
      铭锋科技
      2019-09-04回复琳木兮
      请做成代码片段形式,https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      2019-09-04
      回复
登录 后发表内容
问题标签