收藏
回答

FileSystemManager.rmdir(Object object) 的bug反馈

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug FileSystemManager.rmdir(Object object) 微信安卓客户端 8.0.65 3.7.12

在某些安卓机型上面,覆盖范围蛮广的,同一型号的手机有的没问题有的就有问题,各种版本的微信,各种版本的基础库都有

问题表现:

FileSystemManager.rmdir(Object object)设置了 recursive 为 true 时,若文件夹不是空的,可能包含多个子目录,子目录中还有多个文件时,没有响应,也不报错,没有任何回调

但是如果文件夹本身就是空的,在某些机型上面设置 recursive 为 false 时,也会报错,提示目录不是空的,可能是存在临时文件或空目录之类的,通过FileSystemManager.stat(Object object) 读取文件状态,又显示是空目录,没有读取到里面有文件,这是因为FileSystemManager.stat(Object object) 也有bug

FileSystemManager.stat(Object object) 不同客户端上的表现也不一样,iOS就是会把所有目录列出来,安卓就不能列出来目录,只有根目录和子目录下的文件,如果目录下的子目录全是空的子目录,就有问题了,不会列出来子目录,只有根目录

我们现在的临时解决方案就是 先用FileSystemManager.stat(Object object) 读取所有的文件状态,使用FileSystemManager.unlink(Object object)先遍历删除所有的文件,然后再把所有的路径都拆分一下,倒序排列,再使用FileSystemManager.rmdir(Object object)遍历删除空目录,但是recursive不能设置为false,要设置为true,因为上面也说了,明明是空的,但就是删不掉,说不是空的!

最后一次编辑于  11-20
回答关注问题邀请回答
收藏

1 个回答

  • 智能回答 智能回答 本次回答由AI生成
    11-20
    有用
登录 后发表内容