# FileSystemManager.readZipEntry(Object object)
Start from base library version 2.17.3. Please remaining backward compatible.
with Promise style call: Not supported
Mini Program plugin: Support, need to Mini Program base library version no less than 2.19.2
Read the files in the archive
# parameter
# Object object
attribute | type | Default values | Required | Introductions |
---|---|---|---|---|
filePath | string | yes | Path of the compressed packet to read (Local path) | |
encoding | string | no | Uniformly specifies the character encoding for reading files, only in the entries Valid when the value is "all." if entries Value is "all" and is not passed Encoding, the ArrayBuffer Format to read the binary contents of a file | |
entries | Array.<Object>/'all' | yes | List of files in the zip package to read when "all" is passed in All files in the compressed package are read | |
success | function | no | Interface calls the successful callback function | |
fail | function | no | Interface calls failed callback functions | |
complete | function | no | Callback function at the end of an interface call (both successful and unsuccessful calls are executed) |
object.encoding Legal value
value | Introductions | Minimum version |
---|---|---|
ascii | ||
base64 | ||
binary | ||
hex | ||
ucs2 | Read in small endorder | |
ucs-2 | Read in small endorder | |
Utf16le | Read in small endorder | |
utf-16le | Read in small endorder | |
utf-8 | ||
utf8 | ||
latin1 |
object.entries Structure
attribute | type | Default values | Required | Introductions |
---|---|---|---|---|
path | string | yes | Archive Path | |
encoding | string | no | Specifies the character encoding for the read file, if the Encoding, the ArrayBuffer Format to read the binary contents of a file | |
position | number | no | Start reading from the specified location in the file or from the file header if not specified. Read range should be left closed and right open range [position, position+length). Valid Scope:[0, fileLength - 1]. Unit: byte | |
length | number | no | Specifies the length of the file, if not specified, read to the end of the document. Scope of validity:[1, fileLength]. Unit: byte |
encoding Legal value
value | Introductions | Minimum version |
---|---|---|
ascii | ||
base64 | ||
binary | ||
hex | ||
ucs2 | Read in small endorder | |
ucs-2 | Read in small endorder | |
Utf16le | Read in small endorder | |
utf-16le | Read in small endorder | |
utf-8 | ||
utf8 | ||
latin1 |
# object.success callback
# 初始值
# Object res
attribute | type | Introductions |
---|---|---|
entries | Object | File read results. res.entries Is an object, key is the file path, and value is the object. FileItem Represents the result of reading the file. Each FileItem Contain data (document content) and errMsg (Error message) Property. |
res.entries Structure
attribute | type | Introductions |
---|---|---|
&lbrackpath: string&rbrack | Object | File path |
res.entries&lbrackpath&rbrack Structure
attribute | type | Introductions |
---|---|---|
data | string/ArrayBuffer | Document content |
errMsg | string | Error message |
# object.fail callback
# parameter
# Object res
attribute | type | Introductions |
---|---|---|
errMsg | string | Error message |
res.errMsg Legal value
value | Introductions | Minimum version |
---|---|---|
fail No such file or directory, open ${filePath} | Specified filePath Directory does not exist | |
fail permission denied, open ${dirPath} | Specified filePath Path not read | |
fail sdcard not mounted | Android sdcard Mount failure |
# sample code
const fs = wx.getFileSystemManager()
// Read one or more files in a zip
fs.readZipEntry({
filePath: 'wxfile://from/to.zip',
entries: [{
path: 'some_folder/my_file.txt', // Zip file path
encoding: 'utf-8', // Specifies the character encoding for the read file, if the Encoding, the ArrayBuffer Format to read the binary contents of a file
position: 0, // Start reading from the specified location in the file or from the file header if not specified. Read range should be left closed and right open range [position, position+length). Valid Scope:[0, fileLength - 1]. Unit: byte
length: 10000, // Specifies the length of the file, if not specified, read to the end of the document. Scope of validity:[1, fileLength]. Unit: byte
}, {
path: 'other_folder/orther_file.txt', // Zip file path
}],
success(res) {
console.log(res.entries)
// res.entries === {
// 'some_folder/my_file.txt': {
// errMsg: 'readZipEntry:ok',
// data: Post posted: 'xxxxxx'
// },
// 'other_folder/orther_file.txt': {
// data: (ArrayBuffer)
// }
// }
},
fail(res) {
console.log(res.errMsg)
},
})
// Read all files in zip. Allows specifying uniform encoding. Position and length are no longer allowed, default to 0 and file length, respectively
fs.readZipEntry({
filePath: 'wxfile://from/to.zip',
entries: 'all'
encoding: 'utf-8', // Uniform character encoding specified read file, if not Encoding, the ArrayBuffer Format to read the binary contents of a file
success(res) {
console.log(res.entries)
// res.entries === {
// 'some_folder/my_file.txt': {
// errMsg: 'readZipEntry:ok',
// data: Post posted: 'xxxxxx'
// },
// 'other_folder/orther_file.txt': {
// errMsg: 'readZipEntry:ok',
// data: Post posted: 'xxxxxx'
// }
// }
},
fail(res) {
console.log(res.errMsg)
},
})