使用@ohos/commons-compress (V2.0.1)zip压缩和解压报错
代码:Zip.ets
import zlib from ‘@ohos.zlib’;
export default class Zip {
public static jsZipTest(): void {
try {
let inFile = ‘/data/storage/el1/bundle/hello.txt’;
let outFile = ‘/data/storage/el1/bundle/hello.zip’;
let options: zlib.Options = {
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
};
zlib.compressFile(inFile, outFile, options, (errData) => {
if (errData !== null) {
console.log(errData is errCode:${errData.code} message:${errData.message});
AlertDialog.show({
title: 压缩失败:${errData.message},
message: errData.message,
confirm: {
value: ‘OK’, action: () => {
}
}
})
} else {
console.log(“压缩成功”)
AlertDialog.show({
title: ‘压缩成功’,
message: '请查看沙箱路径 ’ + ‘/’,
confirm: {
value: ‘OK’, action: () => {
}
}
})
}
})
} catch (error) {
console.error('File to obtain the file directory. Cause: ’ + error.message);
}
}
}
Index.ets:
import hilog from ‘@ohos.hilog’;
import testNapi from ‘libentry.so’;
import Zip from ‘…/entryability/Zip’
import Unzip from ‘…/entryability/Unzip’
@Entry
@Component
struct Index {
@State message: string = ‘Hello World’;
build() {
Column(){
Row() {
Column() {
Text(‘点击压缩’)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
Zip.jsZipTest()
})
}
.width(‘100%’)
}
.height(‘50%’)
.backgroundColor(’#ff289b25’)
Row() {
Column() {
Text(‘点击解压’+testNapi.add(1,1))
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
Unzip.unJsZipTest()
})
}
.width(‘100%’)
}
.height(‘50%’)
.backgroundColor(’#ff134eb5’)
}.width(‘100%’)
.height(‘100%’)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS ZIP文件加密压缩和解压缩
479浏览 • 1回复 待解决
HarmonyOS gzip压缩和解压缩接口
335浏览 • 1回复 待解决
HarmonyOS gzip二进制流压缩和解压缩
407浏览 • 1回复 待解决
【7zip】使用7zip三方库,只能压缩,解压失败
603浏览 • 1回复 待解决
zlib是否支持解压带密码的压缩包(.zip)?
1248浏览 • 1回复 待解决
@ohos.zlib (Zip模块)解压文件返回解压成功,但未没有找到解压后的文件
1818浏览 • 1回复 待解决
实现文件解压缩和数据流解压缩
1103浏览 • 1回复 待解决
如何解决使用zip模块解压文件,解压接口返回解压成功,进入设备查看解压路径未找到解压后的文件
2102浏览 • 1回复 待解决
HarmonyOS 针对流形式文件(zip文件)AES解密,再zip解压
297浏览 • 1回复 待解决
RN集成HarmonyOS应用的方式,解压空工程压缩包 HarmonyEmptyProject.zip无法生成bundle包
275浏览 • 1回复 待解决
HarmonyOS如何解压rawfile中的zip文件
198浏览 • 1回复 待解决
如何使用Zip模块解压项目目录rawfile中的文件至应用的沙箱目录中
2224浏览 • 2回复 待解决
将rawfile中zip复制并解压到沙箱路径中
1109浏览 • 1回复 待解决
zip包的解压是在主线程还是IO线程
1509浏览 • 1回复 待解决
如何解压有密码的压缩包
1589浏览 • 0回复 待解决
OpenHarmony中 zip的解压打包路径只能是 沙箱路径吗 ?
4402浏览 • 1回复 待解决
如何解压一个zip文件,并获取到指定后缀的文件?
1633浏览 • 1回复 待解决
是否有将文件夹压缩打包成zip的API?
689浏览 • 1回复 待解决
HarmonyOS如何解压GZIP压缩过的字符串?
368浏览 • 1回复 待解决
zlib.decompressFile()解压报错如何分析
1678浏览 • 1回复 待解决
7z三方库接入问题,暂时没找到支持7z格式压缩/解压缩的三方库,之前提供的p7zip库没有头文件且体积过大
846浏览 • 1回复 待解决
@ohos/smartrefreshlayout运行报错
200浏览 • 1回复 待解决
HarmonyOS是否可支持7z,或者其他类型的压缩包解压能力
206浏览 • 1回复 待解决
HarmonyOS 使用product、features、commons模块开发Page页面跳转问题咨询
184浏览 • 1回复 待解决
网络下载打包成zip的网页模块,下载完成后解压出来,通过webview 加载本地解压出来的网页内容
1781浏览 • 1回复 待解决
请修改下路径获取方式。let inFile = ‘/data/storage/el1/bundle/hello.txt’;let outFile = ‘/data/storage/el1/bundle/hello.zip’;
这样是没有权限的而且import zlib from ‘@ohos.zlib’; 属于系统能力。
请参考下面的写法:
let data = GlobalContext.getContext().getObject(“FilesDir”);const writer = fileio.openSync(data + ‘/’ + this.newFolder + ‘/hello.txt’, 0o102, 0o666);及文档 https://gitee.com/openharmony-tpc/CommonsCompress/blob/master/entry/src/main/ets/component/zip/test.ets
详细看下gitee上的示例配置全局路径需要在EntryAbility文件配置全局路径GlobalContext.getContext().setObject(“context”, this.context);