收藏
回答

关于小程序文件下载并保存到本地的功能?

目前小程序要做保存excel、pdf等文件的功能,

我调用了wx.downFile,然后再调用saveFile,直接是走进了saveFile的success函数,但是保存的文件去哪里打开呢,还是说这个保存并不是保存到手机上?


还是说,现在的小程序并不支持保存文件到手机上(不是临时保存,是可以在退出小程序后再次在手机中找到并且打开)

wx.downloadFile({
  url: item.url,
  // filePath: wx.env.USER_DATA_PATH + '/' + item.fullName,
  success (res) {
   if (res.statusCode === 200) {
  wx.hideLoading()
  // let tempFilePath = res.filePath  // 如果设置了filePath参数,则不会有tempFilePath
  let tempFilePath = res.tempFilePath
  wx.saveFile({
    tempFilePath,
    success (res) {
           // 可以进行到这里
        console.log(res);
        const savedFilePath = res.savedFilePath
        wx.showToast({
        title'下载成功',
        icon'none',
      masktrue
      })
    },
    fail (err) {
     console.log(err);
     wx.showToast({
     title'下载失败,请重新尝试',
      icon'none',
      masktrue
     })
    }
   })
  }
 }
})
回答关注问题邀请回答
收藏

5 个回答

  • 御萌侍卫
    御萌侍卫
    2023-07-27

    找到一个解决方案:

    https://blog.51cto.com/u_15295488/5359631


    里面说saveFile是隐式的, 保存了文件找不到的话, 那对用户而言这个"下载"功能毫无意义;


    如果是文档类型的, 可以用openDocument预览文档, 可以显示保存按钮的. 保存后就可以在文件管理里面找到了

    2023-07-27
    有用
    回复 1
    • 🐝
      🐝
      04-17
      openDocument这个showMenu,安卓可以保存但是ios没有的
      04-17
      回复
  • Levin
    Levin
    2020-10-17

    请问ios也有保存到手机这一项吗?

    2020-10-17
    有用
    回复
  • D.O
    D.O
    2020-04-09

    已经找到方法可以保存到手机了~

    2020-04-09
    有用
    回复 13
    • 年少有为🐯
      年少有为🐯
      2020-04-30
      你好  请问你保存到手机上的方法是如何解决的?
      2020-04-30
      回复
    • D.O
      D.O
      2020-04-30回复年少有为🐯
      wx.openDocument,设置菜单可见,然后有个发送给朋友的按钮,目前只能这样保存咯
      2020-04-30
      2
      回复
    • 年少有为🐯
      年少有为🐯
      2020-04-30回复D.O
      好吧  我现在弄的是发送邮件
      2020-04-30
      1
      回复
    • 年少有为🐯
      年少有为🐯
      2020-04-30回复D.O
      你好  我还问一个问题 为什么本地地址是http://tmp/wxe8fc4335975c42d6.o6zAJs3Kha65TFx643qxlrSgLfBc.bs426b47sG8B89656cf82ed05fbc37695744dbc9659e.doc     wx.openDocument打开后的地址变了
      2020-04-30
      回复
    • 年少有为🐯
      年少有为🐯
      2020-04-30回复D.O
      然后发给好友以后是没有.doc的  好友也打不开
      2020-04-30
      回复
    查看更多(8)
  • 拾忆
    拾忆
    2020-04-01

    保存在了微信临时目录里,并不在系统目录下,所以通过系统并不能直接访问到通过接口下载的文件。

    2020-04-01
    有用
    回复 11
    • D.O
      D.O
      2020-04-01
      那我想保存在系统目录下,要这么进行操作呢
      2020-04-01
      回复
    • 拾忆
      拾忆
      2020-04-01回复D.O
      操作不了,没权限~
      2020-04-01
      回复
    • D.O
      D.O
      2020-04-01回复拾忆
      好吧,那就是不能保存到系统TAT
      2020-04-01
      回复
    • 拾忆
      拾忆
      2020-04-01回复D.O
      2020-04-01
      回复
    • D.O
      D.O
      2020-04-09回复拾忆
      已经找到方法可以保存到手机了~谢谢~
      2020-04-09
      回复
    查看更多(6)
  • 苏军
    苏军
    2020-04-01

    保存以后不是可以获取到保存后的地址,这个可以重复使用,顺便提一下小程序保存文件不能超过10M,而且大的文件保存了也容易被回收掉。

    2020-04-01
    有用
    回复 13
    • D.O
      D.O
      2020-04-01
      savedFilePath 么?然后怎么保存到系统下。。没有找到相关的api
      2020-04-01
      回复
    • 苏军
      苏军
      2020-04-01回复D.O
      上面朋友回复了没有api,最好给一个链接让用去去浏览器操作,下载也好,查看也好。
      2020-04-01
      回复
    • D.O
      D.O
      2020-04-01回复苏军
      上面是我回复的,,0.0,我只是想知道小程序能不能把文件保存到手机本地系统里面,貌似是不行的?
      2020-04-01
      回复
    • 苏军
      苏军
      2020-04-01回复D.O
      正常不行的,官方就不让这样做,没有api,网上有一些林辟捷径的另类做法,你可以去搜搜不过我个人觉得没那个必要
      2020-04-01
      回复
    • D.O
      D.O
      2020-04-09回复苏军
      已经找到方法可以保存到手机了~
      2020-04-09
      回复
    查看更多(8)
登录 后发表内容
问题标签