HarmonyOS 关于 Zip模块 从项目内解压zip文件的问题

  1. zlib.decompressFile 的参数 inFile 可以取到项目内的路径吗?例如zip文件路径为 /entry/assets/xxx.zip。
  2. zlib.decompressFile 的参数 outFile 同样可以取到项目内的路径吗?
HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

inFile 和 outFile 文件路径必须为沙箱路径,沙箱路径可以通过context获取 参考地址:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-zlib-V5#zlibdecompressfile9

参考示例如下:

import fs from '@ohos.file.fs';
import { BusinessError } from '@kit.BasicServicesKit';
import { unzipToDirectory  } from '@ohos/minizip'

@Entry
@Component
struct Page240624161324069 {
  @State context:Context =getContext(this);

  build() {
    Column() {
      Row() {
        Button('jszip unzip testpwd').onClick(() => {
          const content = this.context.resourceManager.getRawFileContentSync("testpwd.zip");
          let file2 = fs.openSync(this.context.filesDir + '/testpwd.zip', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
          fs.writeSync(file2.fd, content.buffer);
          fs.close(file2);
          unzipToDirectory(this.context.filesDir + '/testpwd.zip', this.context.filesDir + '/unziptestpwd', '123456').then((result) => {
            console.log(result);
          }).catch((err: BusinessError) => {
            console.log(err.message);
          });
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

参考地址:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-resource-manager-V5#getrawfilecontentsync10

目前没有办法解压到项目指定文件夹的

分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 代码如何解压zip文件
56浏览 • 1回复 待解决
HarmonyOS如何解压rawfile中zip文件
405浏览 • 1回复 待解决
鸿蒙里如何通过代码解压zip文件
159浏览 • 0回复 待解决
HarmonyOS ZIP文件加密压缩和解压
842浏览 • 1回复 待解决
HarmonyOS @ohos.zlib(Zip模块)相关问题
39浏览 • 1回复 待解决
zip解压是在主线程还是IO线程
1681浏览 • 1回复 待解决
HarmonyOS zip压缩咨询
42浏览 • 1回复 待解决
将rawfile中zip复制并解压到沙箱路径中
1489浏览 • 1回复 待解决