当我想在微信小游戏中储存一些下载下来的资源,以供以后不需要再次下载时,出现了问题:


比如我的资源url是wxfile://res/a/b/image.png.

当我调用FileSystemManager.saveFile(Object object)这个API时出现了错误。

其中

tempFilePath: 'wxfile://res/a/b/image.png'

filePath: wx.env.USER_DATA_PATH + 'res/a/b/image.png'

errMsg说我的filePath的路径不存在。


我试了一下,发现问题在于这个api不会自动创建路径中不存在的文件目录




接着我打算对于filePath的路径不存在的情况,先用FileSystemManager.mkdir(Object object)这个api来创建文件目录。然后发现mkdir这个api也不会自动创建路径中不存在的文件目录


由于我的资源文件的路径比较深,于是我现在只有两个方案:

1, 不再创建和资源文件一样的文件目录了,而是放在同一个文件目录中,我可以通过把路径中的'/'替换成下划线来实现。

2,一层一层的尝试创建文件目录,比如'res/a/b/image.png'就先尝试创建'res/a/b',如果失败就尝试创建'res/a',如果再失败就尝试创建'res/a',直到成功。然后再一层一层的把之前失败的创建出来。这样虽然可以解决问题,但是异步调用函数非常多效率也很低。


请问的大大,有没有什么好的方法?




另外勘误一个小错误:

https://mp.weixin.qq.com/debug/wxagame/dev/document/file/FileSystemManager.saveFile.html?t=201832


属性类型
展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Dara永远三岁

    18人对此回答表示赞同

    有的手机就是不能自动创建目录,我最后把路径的斜杠都改成双下划綫了

    展开
    18
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 夏日未央

    5人对此回答表示赞同

    主最后完成完成了没?

    展开
    5
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部