HarmonyOS 离线包 下载解压

现在下载下来的是zip,如何解压zip,到指定目录

HarmonyOS
2024-08-12 14:43:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以使用zlib.decompressFile方法,具体代码如下

/ 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 
import zlib from ‘@ohos.zlib’; 
let inFile = ‘/xx/xxx.zip’; 
let outFile = ‘/xxx’; 
let options = { 
  level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, 
  memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, 
  strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY 
}; 
 
try { 
  zlib.decompressFile(inFile, outFile, options, (errData) => { 
    if (errData !== null) { 
      console.log(errData is errCode:${errData.code} message:${errData.message}); 
    } 
  }) 
} catch(errData) { 
  console.log(errData is errCode:${errData.code} message:${errData.message}); 
} 
// 【解压缩 例子2】 
// 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 
import zlib from ‘@ohos.zlib’; 
let inFile = ‘/xx/xxx.zip’; 
let outFile = ‘/xxx’; 
let options = { 
  level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, 
  memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, 
  strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY 
}; 
 
try { 
  zlib.decompressFile(inFile, outFile, options).then((data) => { 
    console.info(‘decompressFile success’); 
  }).catch((errData) => { 
    console.log(errData is errCode:${errData.code} message:${errData.message}); 
  }) 
} catch(errData) { 
  console.log(errData is errCode:${errData.code} message:${errData.message}); 
}

参考网址https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-zlib-V5#zlibcompressfile9

分享
微博
QQ
微信
回复
2024-08-13 11:57:19
相关问题
HarmonyOS 预置解压
888浏览 • 1回复 待解决
HarmonyOS Web组件,离线方案
1245浏览 • 1回复 待解决
supermap iManager 解压即用
3364浏览 • 1回复 待解决
HarmonyOS支持解压加密压缩吗?
1099浏览 • 1回复 待解决
HarmonyOS 直接下载APK
955浏览 • 1回复 待解决
如何解压有密码的压缩
3232浏览 • 0回复 待解决
zip解压是在主线程还是IO线程
2566浏览 • 1回复 待解决
HarmonyOS 离线地图
1322浏览 • 1回复 待解决
关于应用内下载更新
1724浏览 • 1回复 待解决
HarmonyOS 无法解压文件
1200浏览 • 1回复 待解决