抖音开放平台Logo
控制台

FileSystemManager.readZipEntry

更新时间 2024-07-24 02:58:49
收藏
我的收藏

基础库 2.90.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。

读取压缩包内的文件。

语法

tt.readZipEntry(options);

参数说明

options 为 object 类型,属性如下:

属性名

类型

默认值

必填

说明

最低支持版本

filePath

string


要读取的压缩包的路径 (本地路径)

2.90.0

encoding

string


统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容

2.90.0

entries

Array


要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件)

2.90.0

success

function


接口调用成功的回调函数

2.90.0

fail

function


接口调用失败的回调函数

2.90.0

complete

function


接口调用结束的回调函数

2.90.0

encoding 的合法值

说明

最低支持版本

ascii


2.90.0

base64


2.90.0

binary


2.90.0

hex


2.90.0

ucs2/ucs-2/utf16le/utf-16le

以小端序读取

2.90.0

utf-8/utf8


2.90.0

latin1


2.90.0

entries 类型说明

Array<object> | 'all' 类型,object 属性如下:

属性名

类型

默认值

必填

说明

path

string


压缩包内文件路径,entries中对象之间的path不可重复

encoding

string


指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容

回调成功

object 类型,属性如下:

属性名

类型

说明

最低支持版本

errMsg

string

"readZipEntry:ok"

2.90.0

entries

object

文件读取结果。entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。

2.90.0

entries 类型说明

object 类型,属性如下:

属性名

类型

说明

最低支持版本

path

FileItem: {
  data: string/ArrayBuffer,
  errMsg: string,
}

文件路径

2.90.0

回调失败

object 类型,属性如下:

错误说明

errNo

errMsg

说明

最低支持版本

20001

readZipEntry:fail param should be xxx, but got xxx

参数校验错误

2.90.0

21101

readZipEntry:fail permission denied, unzip {path_value}

源文件路径不可读


2.90.0

21102

readZipEntry:fail operation not permitted, readZipEntry {filePath_value}

类型不正确(不是文件路径)

2.90.0

21103

readZipEntry:fail no such file or directory, readZipEntry {filePath_value}

文件不存在,或者目标文件路径的上层目录不存在

2.90.0

21106

readZipEntry:fail unzip open file fail

压缩文件打开失败

2.90.0

21107

readZipEntry:fail unzip entry fail

解压单个文件失败

2.90.0

代码示例

const fs = tt.getFileSystemManager();
// 读取压缩包内所有文件
fs.readZipEntry({
  filePath: "zipPath",
  entries: "all",
  encoding: "utf8",
  success(res) {
    console.log("读取压缩包内所有文件成功", res);
  },
  fail(res) {
    console.log("读取压缩包内所有文件失败", res);
  },
});

// 读取压缩包内指定文件
fs.readZipEntry({
  filePath: "zipPath",
  entries: [
    {
      path: "zipEntryPath1",
    },
    {
      path: "zipEntryPath2",
      encoding: "utf8",
    },
  ],
  success(res) {
    console.log("读取指定压缩文件成功", res);
  },
  fail(res) {
    console.log("读取指定压缩文件失败", res);
  },
});

Bug & Tip

文档评论

登录后可参与评论