收藏
回答

文件预览时,调用的文件下载接口返回的文件路径文件类型改变

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.downloadFile 工具 2.6.2.27 1.0

调用wx.downloadFile接口返回的临时文件类型改变了,请求的url接口后缀名为docx时返回的临时文件后缀名为.txt、请求的url后缀名为doc时返回的临时地址的后缀名为.wsword 。而请求的url后缀名为pdf时正常。

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

2 个回答

  • 匿名
    匿名
    2018-05-18

    我们也遇到了这个问题,明明是一个xlsx的文件,downloadfile下来变成了.txt;

    刚刚后端解决了,url里的中文urlencode了一下,下载下来的临时文件后缀名就正常了,可以openDocument打开,你试试。

    2018-05-18
    有用
    回复
  • bjx
    bjx
    2018-05-07

    wx.downloadFile请求的url为“

    http://www.runagain.cn/storage/enterprise/denso/insurance_manual.doc

    ”,

    打印res结果为{tempFilePath: "http://tmp/wxc87b8248f01c07f2.o6zAJs4W109Gw0pNjhvR…X1MFzlSYBw1e59352bf3e8c336badec4b33eadee67.msword", statusCode: 200, errMsg: "downloadFile:ok"},

    这样调用wx.openDocument时报错信息:"openDocument:fail filetype not supported"


    2018-05-07
    有用
    回复 1
    • new   Object  undefined
      new Object undefined
      2019-05-30

      在wx.openDocument里添加fileType就行了,我也是downloadFile把我后缀名改了。弄了很久。

      以下是代码供你参考下

      //文件下载  .doc

      upload: function (e) {

      let _this = this;

      let url = e.currentTarget.dataset.url;

      let index=e.currentTarget.dataset.index;

      if ((url.indexOf(".png") != -1) || (url.indexOf(".jpg") != -1) || (url.indexOf(".jpeg") != -1) || (url.indexOf(".gif") != -1)){

      wx.previewImage({

      current: url, // 当前显示图片的http链接

      urls: [url] // 需要预览的图片http链接列表

      })

      }else{

      var type="";

      if(url.indexOf(".doc")!=-1){

      type="doc"

      } else if (url.indexOf(".docx") != -1){

      type=".docx"

      } else if (url.indexOf(".xls") != -1) {

      type = ".xls"

      } else if (url.indexOf(".xlsx") != -1) {

      type = ".xlsx"

      } else if (url.indexOf(".ppt") != -1) {

      type = ".ppt"

      } else if (url.indexOf(".pdf") != -1) {

      type = ".pdf"

      } else if (url.indexOf(".pptx") != -1) {

      type = ".pptx"

      }

      wx.downloadFile({

      url: url,

      success: function (res) {

      console.log(res)

      wx.openDocument({

      filePath: res.tempFilePath,

      fileType: type,

      success: function (res) {

      console.log('打开文档成功')

      },

      fail: function (err) {

      console.log(err)

      }

      })

      }

      })

      }

      },




      2019-05-30
      1
      回复
登录 后发表内容