【HarmonyOS NEXT】二进制数据Uint8Array写入文件并进行解压操作报错900002

【关键字】

zlib.decompressFile / 解压 / 900002

【问题描述】

使用zlib.decompressFile API进行解压操作,一直报错900002 传入的目标文件错误。

示例代码:

let filePath = MMKVUtil.filePath+'/dataCache';
fs.mkdir(filePath).then(() => {
console.info("mkdir succeed");

let inputFilePath = filePath+'/data.zip';
let file = fs.openSync(inputFilePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
fs.writeSync(file.fd,outPutData.buffer);
fs.closeSync(file);

let res = fs.accessSync(inputFilePath);
if (res) {
console.info("file exists");
} else {
console.info("file not exists");
}

let outFilePath = filePath+'/data.json';
let file2 = fs.openSync(outFilePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
fs.closeSync(file2);

let res2 = fs.accessSync(outFilePath);
if (res2) {
console.info("file exists");
} else {
console.info("file not exists");
}

try {
zlib.decompressFile(inputFilePath, outFilePath, (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}`);
}

}).catch((err: BusinessError) => {
console.error("mkdir failed with error message: " + err.message + ", error code: " + err.code);
});

【解决方案】

zlib.decompressFile的第二个参数指定的解压后的文件夹路径,当前的代码片段let outFilePath = filePath+'/data.json';outFile为一个文件路径,请尝试将其修改为文件夹路径可解决900002的报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值