HarmonyOS 鸿蒙Next 使用minizip解压带密码的压缩包失败

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用minizip解压带密码的压缩包失败

使用minizip解压带密码的压缩包失败

2 回复

您的zip的加密格式为AES吗?三方库有提供解压带密码的压缩包能力,您可以尝试用这个试试:

https://gitee.com/openharmony-tpc/openharmony_tpc_samples/tree/master/ohos-jszip

import fs from '[@ohos](/user/ohos).file.fs';
import { BusinessError } from '[@kit](/user/kit).BasicServicesKit';
import { unzipToDirectory } from '[@ohos](/user/ohos)/minizip';

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

 build() {
   Column() {
     Row() {
       Button('jszip unzip testpwd').onClick(async () => {
         try {
           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);

           try {
             const result = await unzipToDirectory(this.context.filesDir + '/testpwd.zip', this.context.filesDir + '/unziptestpwd', '123456');
             console.log(result);
             // 可以在这里添加用户反馈,例如弹出提示框
           } catch (err: BusinessError) {
             console.error('解压缩失败:', err.message);
             // 这里也可以添加用户反馈
           }

         } catch (error) {
           console.error('文件操作失败:', error);
           // 这里也可以添加用户反馈
         }
       })
     }
     .width('100%')
   }
   .height('100%')
 }
}

更多关于HarmonyOS 鸿蒙Next 使用minizip解压带密码的压缩包失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


作为IT专家,对于HarmonyOS 鸿蒙Next使用minizip解压带密码的压缩包失败的问题,以下是一些可能的原因及解决方案:

  1. 密码错误:请确保输入的密码准确无误。密码的微小错误都可能导致解压失败。
  2. 文件格式问题:检查压缩包的文件格式是否正确,以及是否支持该格式的解压。HarmonyOS可能不支持某些特定格式的压缩包。
  3. minizip版本问题:确认所使用的minizip库版本是否与HarmonyOS鸿蒙Next兼容。HarmonyOS可能集成了特定版本的minizip库,与系统集成的库存在不兼容可能导致解压失败。
  4. 内存不足:解压缩文件需要占用大量存储空间,确保设备有足够的内存空间。

针对以上原因,可以尝试以下方法解决:

  • 重新输入密码,确保无误。
  • 尝试使用其他解压工具或更新minizip库到最新版本。
  • 清理设备内存,确保有足够的空间进行解压操作。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部