收藏
回答

【萌新求助】FileSystemManager.saveFile的filePath参数怎样设定?

使用wx.downloadFile之后调用wx.saveFile下载下来的文件在真机上会储存在tencent\MicroMsg\wxafiles\里面,但是里面的文件都是没有后缀的,用户无法正确判断是什么文件类型去打开

我看FileSystemManager.saveFile里是可以设置存储路径filePath的,但是这个路径究竟要则呢么设置呢?

我查到的都是设置成wx.env.USER_DATA_PATH,但是这种会把文件存储到tencent\MicroMsg\wxanewfiles\XXXXXX\里面,但是这个XXXXXXXX是自动生成的一个文件夹,我无法确定这个究竟是什么名字,所以我就无法告诉用户这个文件究竟下载到了什么地方

而如果我修改wx.env.USER_DATA_PATH改获取到的wxfile://user变成别的东西的话就会报错,例如把usr变成store(wxfile://store这种),就会报错,而这种修改在pc上是可以的(http://usr改为http://store这种,就会在store文件夹里保存文件

请各位大神帮帮忙,这个filePath参数的路径究竟是什么东西,究竟怎么改才能不要tencent\MicroMsg\wxanewfiles\XXXXXX\里面这个随机的文件夹

FileSystemManager.saveFile({
  tempFilePath: e.tempFilePath,
  filePath: wx.env.USER_DATA_PATH + "/" + filetype,
  success(res) {
    console.log(res)
    wx.showToast({
      title: '保存成功'
    })
  }, fail(res){
    console.log(res)
  }
})

filetype是带后缀的文件名(例如text.docx),filePath参数为“wxfile://usr/text.docx”,保存下来的就是wxanewfiles\5f1d71fa9ebd0b65bc0a16c40e8f7226\text.docx

请各位大神帮帮忙,怎么做才能不要5f1d71fa9ebd0b65bc0a16c40e8f7226这个自动生成的字符串,这个我也拿不到....

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

1 个回答

  • 拾忆
    拾忆
    09-20

    他只是一个临时路径,你不要把它当成一个固定的文件路径。

    09-20
    有用
    回复 11
    • 梦中的红尘
      梦中的红尘
      09-20
      downloadFile之后又用wx.saveFile保存了啊,这不是临时路径了吧,但是真机上wx.saveFile之后的文件依然是没有后缀名
      09-20
      回复
    • 梦中的红尘
      梦中的红尘
      09-20
      09-20
      回复
    • 拾忆
      拾忆
      09-20回复梦中的红尘
      09-20
      回复
    • 拾忆
      拾忆
      09-20
      结合这2个文档看,wx.saveFile只是提供了一个10M的本地缓存目录而已,不能自己随意修改,也不能让用户在系统相册或者其它APP里能指定这个目录的文件。
      09-20
      回复
    • 梦中的红尘
      梦中的红尘
      09-20
      大哥你没看我问题吧
      wx.saveFile保存下来的没有后缀名,用户怎么打开啊
      给的返回是
      wxfile://store_09bcd3c42105a6a9cf5e38fb057c5a3faa625fe3de746d07c8e1eadfe955344e.docx
      没错
      但是wxafiles文件夹里的是
      store_09bcd3c42105a6a9cf5e38fb057c5a3faa625fe3de746d07c8e1eadfe955344e
      其他地方找不到其他这个名字的文件
      用户哪儿知道这东西是啥类型的文件要用啥打开啊
      09-20
      回复
    查看更多(6)
登录 后发表内容
问题标签