FileSystemManager.readZipEntry(Object object)
基础库 2.17.3 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:不支持
小程序插件:支持,需要小程序基础库版本不低于 2.19.2
相关文档: 文件系统
功能描述
读取压缩包内的文件
参数
Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
| filePath | string | | 是 | 要读取的压缩包的路径 (本地路径) |
| encoding | string | | 否 | 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |
| 合法值 | 说明 | ascii | | base64 | | binary | | hex | | ucs2 | 以小端序读取 | ucs-2 | 以小端序读取 | utf16le | 以小端序读取 | utf-16le | 以小端序读取 | utf-8 | | utf8 | | latin1 | |
|
| entries | Array.<Object>/'all' | | 是 | 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) |
| | 结构属性 | 类型 | 默认值 | 必填 | 说明 | | path | string | | 是 | 压缩包内文件路径 | | encoding | string | | 否 | 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 | | 合法值 | 说明 | ascii | | base64 | | binary | | hex | | ucs2 | 以小端序读取 | ucs-2 | 以小端序读取 | utf16le | 以小端序读取 | utf-16le | 以小端序读取 | utf-8 | | utf8 | | latin1 | |
| | position | number | | 否 | 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte | | length | number | | 否 | 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte |
|
| success | function | | 否 | 接口调用成功的回调函数 |
| fail | function | | 否 | 接口调用失败的回调函数 |
| complete | function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
| 属性 | 类型 | 说明 |
| entries | Object | 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 |
| | 结构属性 | 类型 | 说明 | | path | Object | 文件路径 | | | 结构属性 | 类型 | 说明 | | data | string/ArrayBuffer | 文件内容 | | errMsg | string | 错误信息 |
|
|
object.fail 回调函数
参数
Object res
| 属性 | 类型 | 说明 |
| errMsg | string | 错误信息 |
| 合法值 | 说明 | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | fail sdcard not mounted | Android sdcard 挂载失败 |
|
示例代码