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);
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
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进制
791浏览 • 2回复 待解决
如何对二进制进行AES解密?
1048浏览 • 1回复 待解决
HarmonyOS gzip二进制流压缩和解压
1776浏览 • 1回复 待解决
HarmonyOS 二进制转16进制
711浏览 • 1回复 待解决
HarmonyOSUint8Array
817浏览 • 1回复 待解决
HarmonyOS进制二进制方法
878浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
587浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
921浏览 • 2回复 待解决
native层如何访问rawfile的二进制文件
2677浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
2259浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
1227浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
921浏览 • 1回复 待解决
jsbind--二进制包导入指导
1517浏览 • 1回复 待解决
如何直接加载二进制流的图片?
3719浏览 • 1回复 待解决
Uint8Array是@Sendable类吗?
960浏览 • 1回复 待解决
HarmonyOS 图片二进制流jpeg格式转换
690浏览 • 1回复 待解决
HarmonyOS List<number>怎么转Uint8Array
783浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
2369浏览 • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转?
1728浏览 • 1回复 待解决