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

使用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);
});
HarmonyOS
2024-12-24 14:26:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

zlib.decompressFile的第二个参数指定的解压后的文件夹路径,提供的代码片段let outFilePath = filePath+’/data.json’;

outFile为一个文件路径,可以尝试将其修改为文件夹路径可解决900002的报错

分享
微博
QQ
微信
回复
2024-12-24 17:00:58
相关问题
HarmonyOS Uint8Array转16进制
219浏览 • 2回复 待解决
如何对二进制进行AES解密?
498浏览 • 1回复 待解决
HarmonyOS gzip二进制流压缩和解压
1159浏览 • 1回复 待解决
HarmonyOS 二进制转16进制
271浏览 • 1回复 待解决
HarmonyOSUint8Array
268浏览 • 1回复 待解决
HarmonyOS进制二进制方法
304浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
185浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
315浏览 • 2回复 待解决
native层如何访问rawfile的二进制文件
2082浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
1764浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
767浏览 • 1回复 待解决
jsbind--二进制包导入指导
998浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
236浏览 • 1回复 待解决
HarmonyOS 图片二进制流jpeg格式转换
86浏览 • 1回复 待解决
Uint8Array是@Sendable类吗?
443浏览 • 1回复 待解决
HarmonyOS uint8Array转字符串
312浏览 • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转?
784浏览 • 1回复 待解决
如何直接加载二进制流的图片?
3097浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
1772浏览 • 1回复 待解决