获取路径代码1:
let context1 = getContext(this) as common.UIAbilityContext; let cacheDir = context1.cacheDir;
获取路径代码2:
const context2: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; let applicationContext2 = context2.getApplicationContext(); let cacheDir2 = applicationContext2.cacheDir;
输出结果:
路径1:/data/storage/el2/base/haps/entry/cache
路径2:/data/storage/el2/base/cache
看着好像都没有问题,都能用,但是到“文件上传/下载”api的时候,鸿蒙弄了个什么internal://文件协议的时候,坑的地方就来了,用第一种方式是可以的,但是第二种方式,路径就死活对不上了。
结论:尽可能使用第一种方式,不然说不准啥时候其他地方又挨坑了。
附上某大佬写的文件上传下载: