diff --git a/zh-cn/application-dev/reference/apis/js-apis-zlib.md b/zh-cn/application-dev/reference/apis/js-apis-zlib.md index 4e86e1d8a387ab4e8d4d22d2a8b29d5daf019899..8138283e12eac6f85872a718f035bf00670afb64 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-zlib.md +++ b/zh-cn/application-dev/reference/apis/js-apis-zlib.md @@ -1,23 +1,24 @@ # Zip模块(JS端SDK接口) +本模块提供压缩解压缩文件的能力 + > **说明:** > > 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 -## 使用限制 - -无。 ## 导入模块 ```javascript import zlib from '@ohos.zlib'; ``` -## zlib.zipFile -zipFile(inFile:string, outFile:string, options: Options): Promise<void> +## zlib.zipFile(deprecated) + zipFile(inFile:string, outFile:string, options: Options): Promise<void> 压缩接口(Promise形式)。 +> 从api9开始不再维护,建议使用[zlib.compressFile](#zlibcompressfile9) + **系统能力:** SystemCapability.BundleManager.Zlib **参数:** @@ -76,12 +77,14 @@ zlib.zipFile(inFile , outFile, options).then((data) => { }); ``` -## zlib.unzipFile +## zlib.unzipFile(deprecated) unzipFile(inFile:string, outFile:string, options: Options): Promise<void> 解压文件,解压完成返回执行结果(Promise形式)。 +> 从api9开始不再看护,建议使用[zlib.decompressFile](#zlibdecompressfile9) + **系统能力:** SystemCapability.BundleManager.Zlib **参数:** @@ -119,6 +122,193 @@ zlib.unzipFile(inFile, outFile, options).then((data) => { ``` +## zlib.compressFile9+ + +**function** compressFile(inFile: **string**, outFile: **string**, options: Options, callback: AsyncCallback<**void**>): **void**; + +压缩文件,压缩的结果通过callback返回。成功时返回null,失败时返回错误码。 + +**系统能力:** SystemCapability.BundleManager.Zlib + +**参数:** + +| 参数名 | 类型 | 必填 | 描述 | +| ----------------------- | ------------------- | ---- | ------------------------------------------------------------ | +| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | +| outFile | string | 是 | 指定的解压文件路径 | +| options | [Options](#options) | 是 | 压缩的配置参数 | +| AsyncCallback<**void**> | callback | 否 | 压缩时的回调函数 | + +**相关错误码** + +| 错误码 | 错误信息 | +| ------ | -------------------------------------- | +| 401 | wrong param type | +| 900001 | The Input source file is invalid. | +| 900002 | The Input destination file is invalid. | + +**示例** + +```javascript +// 【压缩例子1】 +// 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 +import zlib from '@ohos.zlib' +var inFile = "/xxx/filename.xxx"; +var outFile = "/xxx/xxx.zip"; +var options = { + level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, + memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, + strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY +}; + +try { + zlib.compressFile(inFile, outFile, options, (errData) => { + if (erData != null) { + console.log("errData is " + errData.errCode + " " + errData.message) + } + }) +} catch(errData => { + console.log("catch err " + errData.errCode + " " + errData.message) +}) +``` + +**function** compressFile(inFile:**string**, outFile:**string**, options: Options): Promise<**void**>; + +压缩文件,压缩的结果通过promise返回,成功时返回null,失败时返回错误码。 + +**系统能力:** SystemCapability.BundleManager.Zlib + +**参数:** + +| 参数名 | 类型 | 必填 | 描述 | +| ----------------------- | ------------------- | ---- | ------------------------------------------------------------ | +| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | +| outFile | string | 是 | 指定的解压文件路径 | +| options | [Options](#options) | 是 | 压缩的配置参数 | +| AsyncCallback<**void**> | callback | 否 | 压缩时的回调函数 | + +**相关错误码** + +| 错误码 | 错误信息 | +| ------ | -------------------------------------- | +| 401 | wrong param type | +| 900001 | The Input source file is invalid. | +| 900002 | The Input destination file is invalid. | + +```javascript +// 【压缩例子2】 +// 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 +import zlib from '@ohos.zlib' +var inFile = "/xxx/filename.xxx"; +var outFile = "/xxx/xxx.zip"; +var options = { + level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, + memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, + strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY +}; + +try { + zlib.compressFile(inFile, outFile, options).then(data => { + console.info("compressFile success") + }).catch(errData => { + console.info("catch err " + errData.errCode + " " + errData.message) + }) +} catch(errData => { + console.log("catch err " + errData.errCode + " " + errData.message) +}) +``` + + + +## zlib.decompressFile9+ + +**function** decompressFile(inFile: **string**, outFile: **string**, options: Options, callback: AsyncCallback<**void**>): **void**; + +解压文件,解压的结果通过callback返回,成功时返回null,失败时返回错误码。 + +**参数:** + +| 参数名 | 类型 | 必填 | 描述 | +| ----------------------- | ------------------- | ---- | ------------------------------------------------------------ | +| inFile | string | 是 | 指定的待解压缩文件的文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | +| outFile | string | 是 | 指定的解压后的目录路径 | +| options | [Options](#options) | 是 | 解压的配置参数 | +| AsyncCallback<**void**> | callback | 否 | 解压是的回调函数 | + +**相关错误码** + +| 错误码 | 错误信息 | +| ------ | -------------------------------------- | +| 401 | wrong param type | +| 900001 | The Input source file is invalid. | +| 900002 | The Input destination file is invalid. | + +**示例** + +```javascript +// 【解压缩例子1】 +// 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 +import zlib from '@ohos.zlib' +var inFile = "/xx/xxx.zip"; +var outFile = "/xxx"; +var 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 (erData != null) { + console.log("errData is " + errData.errCode + " " + errData.message) + } + }) +} catch(errData => { + console.log("catch err " + errData.errCode + " " + errData.message) +}) +``` + +**function** decompressFile(inFile: **string**, outFile: **string**, options: Options): Promise<**void**>; + +解压文件,解压的结果通过promise返回,成功时返回null,失败时返回错误码。 + +**参数:** + +| 参数名 | 类型 | 必填 | 描述 | +| ------- | ------------------- | ---- | ------------------------------------------------------------ | +| inFile | string | 是 | 指定的待解压缩文件的文件路径,对应的路径参考[FA模型](js-apis-Context.md),[stage模型](js-apis-application-context.md) | +| outFile | string | 是 | 指定的解压后的目录路径 | +| options | [Options](#options) | 是 | 解压时的配置参数 | + +**相关错误码** + +| 错误码 | 错误信息 | +| ------ | -------------------------------------- | +| 401 | wrong param type | +| 900001 | The Input source file is invalid. | +| 900002 | The Input destination file is invalid. | + +```javascript +// 【解压缩例子2】 +// 代码中使用的路径需为应用的沙箱路径,如/data/storage/el2/base/haps,也可以通过context获取 +import zlib from '@ohos.zlib' +var inFile = "/xx/xxx.zip"; +var outFile = "/xxx"; +var options = { + level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION, + memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT, + strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY +}; +try { + zlib.compressFile(inFile, outFile, options).then(data => { + console.info("compressFile success") + }).catch(errData => { + console.info("catch err " + errData.errCode + " " + errData.message) + }) +} catch(errData => { + console.log("catch err " + errData.errCode + " " + errData.message) +}) +``` + ## Options **系统能力:** SystemCapability.BundleManager.Zlib diff --git a/zh-cn/application-dev/reference/errorcodes/errorcodes-zlib.md b/zh-cn/application-dev/reference/errorcodes/errorcodes-zlib.md new file mode 100755 index 0000000000000000000000000000000000000000..a2518a702c545f9d81821cef3680cb51b534c030 --- /dev/null +++ b/zh-cn/application-dev/reference/errorcodes/errorcodes-zlib.md @@ -0,0 +1,58 @@ +# zlib子系统错误码 + +## 401 参数检查错误 + +**错误信息** + +The parameter invalid. + +**错误描述** + +当调用zlib的compress及decompress接口时,若传入参数的类型或者范围不匹配,会报此错误码。 + +**可能原因** + +1. 入参类型错误不匹配,如传入的文件路径类型不是strinf。 +2. 入参范围不匹配,如传入的options中包含的枚举不存在。 + +**处理步骤** + +检查入参类型和范围是否匹配。 + +## 900001 传入的源文件错误 + +**错误信息** + +The input source file is invalid. + +**错误描述** + +当调用compress或decompress接口时,传入源文件无效。 + +**可能原因** + +当调用compress接口时,传入的待压缩的文件不存在;当调用decompress接口时,传入的待解压缩的文件不存在。 + +**处理步骤** + +检查源文件是否存在。 + +## 900002 传入的目标文件错误 + +**错误信息** + +The input destination file is invalid. + +**错误描述** + +当调用compress或decompress接口时,传入目标文件无效。 + +**可能原因** + +1. 当调用compress接口时,传入的目标文件路径无效,如不存在的沙箱路径。 +2. 当调用decompress接口时,传入的目标目录不存在。 + +**处理步骤** + +1. 检查目标文件路径是否正确,不正确填写正确的沙箱路径。 +2. 检查目标文件目录是否存在,不存在新建这个路径。 \ No newline at end of file