【关键字】
zlib.decompressFile / 错误码 / 900002 / 解压文件
【问题描述】
创建了文件路径,使用解压api,解压方法报错:900002 传入的目标文件错误。
let filePath = MMKVUtil.filePath+'/data.zip';
let file = fs.openSync(filePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
let writeLen = fs.writeSync(file.fd,outPutData.buffer);
fs.closeSync(file);
let outFileDir = MMKVUtil.filePath+'/data.json';
let file2 = fs.openSync(outFileDir, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
let writeLen2 = fs.writeSync(file2.fd,outPutData.buffer);
fs.closeSync(file2);
try {
zlib.decompressFile(filePath, outFileDir, (errData: BusinessError) => {
if (errData !== null) {
console.error(`decompressFile failed. code is ${errData.code}, message is ${errData.message}`);
}
})
} catch(errData) {
console.error(`decompressFile failed. code is ${errData.code}, message is ${errData.message}`);
}
【解决方案】
根据代码及错误码显示900002,当传入目标文件无效,调用compressFile或decompressFile接口时会返回此错误码。
可能原因:
当调用compressFile接口时,传入的目标文件路径无效,如不存在的沙箱路径。
当调用decompressFile接口时,传入的目标目录不存在。
处理步骤:
-
检查目标文件路径是否正确,如果不正确,填写正确的沙箱路径。
-
检查目标文件目录是否存在,如果不存在,新建这个路径。
具体zlib.decompressFile API相关使用及参数设置,可参考API文档: