title: FileSystemManager

sidebar_label: FileSystemManager

文件管理器,可通过 Taro.getFileSystemManager 获取。

支持情况:FileSystemManager - 图1 FileSystemManager - 图2 FileSystemManager - 图3

参考文档

方法

access

判断文件/目录是否存在

支持情况:FileSystemManager - 图4 FileSystemManager - 图5 FileSystemManager - 图6

参考文档

  1. (option: AccessOption) => void
参数 类型
option AccessOption

accessSync

FileSystemManager.access 的同步版本

支持情况:FileSystemManager - 图7 FileSystemManager - 图8 FileSystemManager - 图9

参考文档

  1. (path: string) => void
参数 类型 说明
path string 要判断是否存在的文件/目录路径

appendFile

在文件结尾追加内容

支持情况:FileSystemManager - 图10 FileSystemManager - 图11 FileSystemManager - 图12

参考文档

  1. (option: AppendFileOption) => void
参数 类型
option AppendFileOption

appendFileSync

FileSystemManager.appendFile 的同步版本

支持情况:FileSystemManager - 图13 FileSystemManager - 图14 FileSystemManager - 图15

参考文档

  1. (filePath: string, data: string | ArrayBuffer, encoding?: keyof Encoding) => void
参数 类型 说明
filePath string 要追加内容的文件路径
data string or ArrayBuffer 要追加的文本或二进制数据
encoding keyof Encoding 指定写入文件的字符编码

close

关闭文件

支持情况:FileSystemManager - 图16 FileSystemManager - 图17 FileSystemManager - 图18

参考文档

  1. (option: CloseOption) => void
参数 类型
option CloseOption

closeSync

FileSystemManager.close 的同步版本

支持情况:FileSystemManager - 图19 FileSystemManager - 图20 FileSystemManager - 图21

参考文档

  1. (option: CloseSyncOption) => void
参数 类型
option CloseSyncOption

copyFile

复制文件

支持情况:FileSystemManager - 图22 FileSystemManager - 图23 FileSystemManager - 图24

参考文档

  1. (option: CopyFileOption) => void
参数 类型
option CopyFileOption

copyFileSync

FileSystemManager.copyFile 的同步版本

支持情况:FileSystemManager - 图25 FileSystemManager - 图26 FileSystemManager - 图27

参考文档

  1. (srcPath: string, destPath: string) => void
参数 类型 说明
srcPath string 源文件路径,只可以是普通文件
destPath string 目标文件路径

fstat

获取文件的状态信息

支持情况:FileSystemManager - 图28 FileSystemManager - 图29 FileSystemManager - 图30

参考文档

  1. (option: FstatOption) => void
参数 类型
option FstatOption

fstatSync

FileSystemManager.fstat 的同步版本

支持情况:FileSystemManager - 图31 FileSystemManager - 图32 FileSystemManager - 图33

参考文档

  1. (option: FstatSyncOption) => Stats
参数 类型
option FstatSyncOption

ftruncate

对文件内容进行截断操作

支持情况:FileSystemManager - 图34 FileSystemManager - 图35 FileSystemManager - 图36

参考文档

  1. (option: FtruncateOption) => void
参数 类型
option FtruncateOption

ftruncateSync

FileSystemManager.ftruncate 的同步版本

支持情况:FileSystemManager - 图37 FileSystemManager - 图38 FileSystemManager - 图39

参考文档

  1. (option: FtruncateSyncOption) => void
参数 类型
option FtruncateSyncOption

getFileInfo

获取该小程序下的 本地临时文件本地缓存文件 信息

支持情况:FileSystemManager - 图40 FileSystemManager - 图41 FileSystemManager - 图42

参考文档

  1. (option: getFileInfoOption) => void
参数 类型
option getFileInfoOption

getSavedFileList

获取该小程序下已保存的本地缓存文件列表

支持情况:FileSystemManager - 图43 FileSystemManager - 图44 FileSystemManager - 图45

参考文档

  1. (option?: getSavedFileListOption) => void
参数 类型
option getSavedFileListOption

mkdir

创建目录

支持情况:FileSystemManager - 图46 FileSystemManager - 图47 FileSystemManager - 图48

参考文档

  1. (option: MkdirOption) => void
参数 类型
option MkdirOption

mkdirSync

FileSystemManager.mkdir 的同步版本

支持情况:FileSystemManager - 图49 FileSystemManager - 图50 FileSystemManager - 图51

参考文档

  1. (dirPath: string, recursive?: boolean) => void
参数 类型 说明
dirPath string 创建的目录路径
recursive boolean 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。

open

打开文件,返回文件描述符

支持情况:FileSystemManager - 图52 FileSystemManager - 图53 FileSystemManager - 图54

参考文档

  1. (option: OpenOption) => void
参数 类型
option OpenOption

openSync

FileSystemManager.openSync 的同步版本

支持情况:FileSystemManager - 图55 FileSystemManager - 图56 FileSystemManager - 图57

参考文档

  1. (option: OpenSyncOption) => string
参数 类型
option OpenSyncOption

read

读文件

支持情况:FileSystemManager - 图58 FileSystemManager - 图59 FileSystemManager - 图60

参考文档

  1. (option: ReadOption) => void
参数 类型
option ReadOption

readCompressedFile

读取指定压缩类型的本地文件内容

支持情况:FileSystemManager - 图61 FileSystemManager - 图62 FileSystemManager - 图63

参考文档

  1. (option: Option) => Promise<Promised>
参数 类型
option Option

readCompressedFileSync

同步读取指定压缩类型的本地文件内容

支持情况:FileSystemManager - 图64 FileSystemManager - 图65 FileSystemManager - 图66

参考文档

  1. (option: Option) => ArrayBuffer
参数 类型
option Option

readdir

读取目录内文件列表

支持情况:FileSystemManager - 图67 FileSystemManager - 图68 FileSystemManager - 图69

参考文档

  1. (option: ReaddirOption) => void
参数 类型
option ReaddirOption

readdirSync

FileSystemManager.readdir 的同步版本

支持情况:FileSystemManager - 图70 FileSystemManager - 图71 FileSystemManager - 图72

参考文档

  1. (dirPath: string) => string[]
参数 类型 说明
dirPath string 要读取的目录路径

readFile

读取本地文件内容

支持情况:FileSystemManager - 图73 FileSystemManager - 图74 FileSystemManager - 图75

参考文档

  1. (option: ReadFileOption) => void
参数 类型
option ReadFileOption

readFileSync

FileSystemManager.readFile 的同步版本

支持情况:FileSystemManager - 图76 FileSystemManager - 图77 FileSystemManager - 图78

参考文档

  1. (filePath: string, encoding?: keyof Encoding, position?: number, length?: number) => string | ArrayBuffer
参数 类型 说明
filePath string 要读取的文件的路径
encoding keyof Encoding 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
position number 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
length number 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte

readSync

FileSystemManager.read 的同步版本

支持情况:FileSystemManager - 图79 FileSystemManager - 图80 FileSystemManager - 图81

参考文档

  1. (option: ReadSyncOption) => { bytesRead: number; arrayBuffer: ArrayBuffer; }
参数 类型
option ReadSyncOption

readZipEntry

读取压缩包内的文件

支持情况:FileSystemManager - 图82 FileSystemManager - 图83 FileSystemManager - 图84

参考文档

  1. (option: Option) => Promise<Promised>
参数 类型
option Option

removeSavedFile

删除该小程序下已保存的本地缓存文件

支持情况:FileSystemManager - 图85 FileSystemManager - 图86 FileSystemManager - 图87

参考文档

  1. (option: RemoveSavedFileOption) => void
参数 类型
option RemoveSavedFileOption

rename

重命名文件。可以把文件从 oldPath 移动到 newPath

支持情况:FileSystemManager - 图88 FileSystemManager - 图89 FileSystemManager - 图90

参考文档

  1. (option: RenameOption) => void
参数 类型
option RenameOption

renameSync

FileSystemManager.rename 的同步版本

支持情况:FileSystemManager - 图91 FileSystemManager - 图92 FileSystemManager - 图93

参考文档

  1. (oldPath: string, newPath: string) => void
参数 类型 说明
oldPath string 源文件路径,可以是普通文件或目录
newPath string 新文件路径

rmdir

删除目录

支持情况:FileSystemManager - 图94 FileSystemManager - 图95 FileSystemManager - 图96

参考文档

  1. (option: RmdirOption) => void
参数 类型
option RmdirOption

rmdirSync

FileSystemManager.rmdir 的同步版本

支持情况:FileSystemManager - 图97 FileSystemManager - 图98 FileSystemManager - 图99

参考文档

  1. (dirPath: string, recursive?: boolean) => void
参数 类型 说明
dirPath string 要删除的目录路径
recursive boolean 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。

saveFile

保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。

支持情况:FileSystemManager - 图100 FileSystemManager - 图101 FileSystemManager - 图102

参考文档

  1. (option: SaveFileOption) => void
参数 类型
option SaveFileOption

saveFileSync

FileSystemManager.saveFile 的同步版本

支持情况:FileSystemManager - 图103 FileSystemManager - 图104 FileSystemManager - 图105

参考文档

  1. (tempFilePath: string, filePath?: string) => string
参数 类型 说明
tempFilePath string 临时存储文件路径
filePath string 要存储的文件路径

stat

获取文件 Stats 对象

支持情况:FileSystemManager - 图106 FileSystemManager - 图107 FileSystemManager - 图108

  1. (option: StatOption) => void
参数 类型
option StatOption

statSync

FileSystemManager.stat 的同步版本

支持情况:FileSystemManager - 图109 FileSystemManager - 图110 FileSystemManager - 图111

参考文档

  1. (path: string, recursive?: boolean) => any
参数 类型 说明
path string 文件/目录路径
recursive boolean 是否递归获取目录下的每个文件的 Stats 信息

truncate

对文件内容进行截断操作

支持情况:FileSystemManager - 图112 FileSystemManager - 图113 FileSystemManager - 图114

参考文档

  1. (option: TruncateOption) => void
参数 类型
option TruncateOption

truncateSync

对文件内容进行截断操作 (truncate 的同步版本)

支持情况:FileSystemManager - 图115 FileSystemManager - 图116 FileSystemManager - 图117

参考文档

  1. (option: TruncateSyncOption) => void
参数 类型
option TruncateSyncOption

unlink

删除文件

支持情况:FileSystemManager - 图118 FileSystemManager - 图119 FileSystemManager - 图120

参考文档

  1. (option: UnlinkOption) => void
参数 类型
option UnlinkOption

unlinkSync

FileSystemManager.unlink 的同步版本

支持情况:FileSystemManager - 图121 FileSystemManager - 图122 FileSystemManager - 图123

参考文档

  1. (filePath: string) => void
参数 类型 说明
filePath string 要删除的文件路径

unzip

解压文件

支持情况:FileSystemManager - 图124 FileSystemManager - 图125 FileSystemManager - 图126

参考文档

  1. (option: UnzipOption) => void
参数 类型
option UnzipOption

write

写入文件

支持情况:FileSystemManager - 图127 FileSystemManager - 图128 FileSystemManager - 图129

参考文档

  1. (option: WriteOption) => void
参数 类型
option WriteOption

writeFile

写文件

支持情况:FileSystemManager - 图130 FileSystemManager - 图131 FileSystemManager - 图132

参考文档

  1. (option: WriteFileOption) => void
参数 类型
option WriteFileOption

writeFileSync

FileSystemManager.writeFile 的同步版本

支持情况:FileSystemManager - 图133 FileSystemManager - 图134 FileSystemManager - 图135

参考文档

  1. (filePath: string, data: string | ArrayBuffer, encoding?: keyof Encoding) => void
参数 类型 说明
filePath string 要写入的文件路径
data string or ArrayBuffer 要写入的文本或二进制数据
encoding keyof Encoding 指定写入文件的字符编码

writeSync

write 的同步版本

支持情况:FileSystemManager - 图136 FileSystemManager - 图137 FileSystemManager - 图138

参考文档

  1. (option: WriteSyncOption) => { bytesWritten: number; }
参数 类型
option WriteSyncOption

参数

Encoding

字符编码

参数 说明
ascii
base64
binary
hex
ucs2 以小端序读取
ucs-2 以小端序读取
utf16le 以小端序读取
utf-16le 以小端序读取
utf-8
utf8
latin1

flag

文件系统标志

AccessOption

参数 类型 必填 说明
path string 要判断是否存在的文件/目录路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: AccessFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

AccessFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory ${path}’: 文件/目录不存在;

AppendFileOption

参数 类型 必填 说明
data string or ArrayBuffer 要追加的文本或二进制数据
filePath string 要追加内容的文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
encoding keyof Encoding 指定写入文件的字符编码
fail (result: AppendFileFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

AppendFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 文件不存在;
- ‘fail illegal operation on a directory, open “${filePath}”‘: 指定的 filePath 是一个已经存在的目录;
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有写权限;
- ‘fail sdcard not mounted’: 指定的 filePath 是一个已经存在的目录;

CopyFileOption

参数 类型 必填 说明
destPath string 目标文件路径
srcPath string 源文件路径,只可以是普通文件
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: CopyFileFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

CopyFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail permission denied, copyFile ${srcPath} -> ${destPath}’: 指定目标文件路径没有写权限;
- ‘fail no such file or directory, copyFile ${srcPath} -> ${destPath}’: 源文件不存在,或目标文件路径的上层目录不存在;
- ‘fail the maximum size of the file storage limit is exceeded’: 存储空间不足;

getFileInfoOption

参数 类型 必填 说明
filePath string 要读取的文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: GetFileInfoFailCallbackResult) => void 接口调用失败的回调函数
success (result: GetFileInfoSuccessCallbackResult) => void 接口调用成功的回调函数

GetFileInfoFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail file not exist’: 指定的 filePath 找不到文件;

GetFileInfoSuccessCallbackResult

参数 类型 说明
size number 文件大小,以字节为单位
errMsg string 调用结果

getSavedFileListOption

参数 类型 必填 说明
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (res: TaroGeneral.CallbackResult) => void 接口调用失败的回调函数
success (result: GetSavedFileListSuccessCallbackResult) => void 接口调用成功的回调函数

GetSavedFileListSuccessCallbackResult

参数 类型 说明
fileList GetSavedFileListSuccessCallbackResultFileItem[] 文件数组
errMsg string 调用结果

GetSavedFileListSuccessCallbackResultFileItem

文件数组

参数 类型 说明
createTime number 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数
filePath string 本地路径
size number 本地文件大小,以字节为单位

MkdirOption

参数 类型 必填 说明
dirPath string 创建的目录路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: MkdirFailCallbackResult) => void 接口调用失败的回调函数
recursive boolean 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

MkdirFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory ${dirPath}’: 上级目录不存在;
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有写权限;
- ‘fail file already exists ${dirPath}’: 有同名文件或目录;

ReadFileOption

参数 类型 必填 说明
filePath string 要读取的文件的路径
position number 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
length number 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
encoding keyof Encoding 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
fail (result: ReadFileFailCallbackResult) => void 接口调用失败的回调函数
success (res: ReadFileSuccessCallbackResult) => void 接口调用成功的回调函数

ReadFileSuccessCallbackResult

参数 类型 说明
data string or ArrayBuffer 文件内容
errMsg string 调用结果

ReadFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 所在目录不存在;
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有读权限;

ReaddirOption

参数 类型 必填 说明
dirPath string 要读取的目录路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: ReaddirFailCallbackResult) => void 接口调用失败的回调函数
success (result: ReaddirSuccessCallbackResult) => void 接口调用成功的回调函数

ReaddirFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory ${dirPath}’: 目录不存在;
- ‘fail not a directory ${dirPath}’: dirPath 不是目录;
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有读权限;

ReaddirSuccessCallbackResult

参数 类型 说明
files string[] 指定目录下的文件名数组。
errMsg string 调用结果

readZipEntry

Promised

  1. FailCallbackResult | SuccessCallbackResult

Option

参数 类型 必填 说明
filePath string 要读取的压缩包的路径 (本地路径)
encoding string 统一指定读取文件的字符编码,只在 entries 值为”all”时有效。如果 entries 值为”all”且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
entries File[] or “all” 要读取的压缩包内的文件列表(当传入”all” 时表示读取压缩包内所有文件)
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: FailCallbackResult) => void 接口调用失败的回调函数
success (res: SuccessCallbackResult) => void 接口调用成功的回调函数

File

参数 类型 必填 说明
path string 压缩包内文件路径
encoding string 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
position number 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
length number 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte

Encoding

字符编码合法值

参数 异常情况
ascii
base64
binary
hex
ucs2 以小端序读取
ucs-2 以小端序读取
utf16le 以小端序读取
utf-16le 以小端序读取
utf-8
utf8
latin1

FailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 所在目录不存在
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有读权限
- ‘fail sdcard not mounted’: Android sdcard 挂载失败

SuccessCallbackResult

参数 类型 说明
entries { [path: string]: FileItem; } 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。

FileItem

参数 类型 说明
data string or ArrayBuffer 文件内容
errMsg string 错误信息

RemoveSavedFileOption

参数 类型 必填 说明
filePath string 需要删除的文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: RemoveSavedFileFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

RemoveSavedFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail file not exist’: 指定的 tempFilePath 找不到文件;

RenameOption

参数 类型 必填 说明
newPath string 新文件路径
oldPath string 源文件路径,可以是普通文件或目录
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: RenameFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

RenameFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail permission denied, rename ${oldPath} -> ${newPath}’: 指定源文件或目标文件没有写权限;
- ‘fail no such file or directory, rename ${oldPath} -> ${newPath}’: 源文件不存在,或目标文件路径的上层目录不存在;

RmdirOption

参数 类型 必填 说明
dirPath string 要删除的目录路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: RmdirFailCallbackResult) => void 接口调用失败的回调函数
recursive boolean 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

RmdirFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory ${dirPath}’: 目录不存在;
- ‘fail directory not empty’: 目录不为空;
- ‘fail permission denied, open ${dirPath}’: 指定的 dirPath 路径没有写权限;

SaveFileOption

参数 类型 必填 说明
tempFilePath string 临时存储文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: SaveFileFailCallbackResult) => void 接口调用失败的回调函数
filePath string 要存储的文件路径
success (result: SaveFileSuccessCallbackResult) => void 接口调用成功的回调函数

SaveFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail tempFilePath file not exist’: 指定的 tempFilePath 找不到文件;
- ‘fail permission denied, open “${filePath}”‘: 指定的 filePath 路径没有写权限;
- ‘fail no such file or directory “${dirPath}”‘: 上级目录不存在;
- ‘fail the maximum size of the file storage limit is exceeded’: 存储空间不足;

SaveFileSuccessCallbackResult

参数 类型 说明
savedFilePath string 存储后的文件路径
errMsg string 调用结果

StatOption

参数 类型 必填 说明
path string 文件/目录路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: StatFailCallbackResult) => void 接口调用失败的回调函数
recursive boolean 是否递归获取目录下的每个文件的 Stats 信息
success (result: StatSuccessCallbackResult) => void 接口调用成功的回调函数

StatFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail permission denied, open ${path}’: 指定的 path 路径没有读权限;
- ‘fail no such file or directory ${path}’: 文件不存在;

StatSuccessCallbackResult

参数 类型 说明
stats any Stats or Object

当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Object,key 以 path 为根路径的相对路径,value 是该路径对应的 Stats 对象。
errMsg string 调用结果

UnlinkOption

参数 类型 必填 说明
filePath string 要删除的文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: UnlinkFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

UnlinkFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail permission denied, open ${path}’: 指定的 path 路径没有读权限;
- ‘fail no such file or directory ${path}’: 文件不存在;
- ‘fail operation not permitted, unlink ${filePath}’: 传入的 filePath 是一个目录;

UnzipOption

参数 类型 必填 说明
targetPath string 目标目录路径
zipFilePath string 源文件路径,只可以是 zip 压缩文件
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: UnzipFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

UnzipFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail permission denied, unzip ${zipFilePath} -> ${destPath}’: 指定目标文件路径没有写权限;
- ‘fail no such file or directory, unzip ${zipFilePath} -> “${destPath}’: 源文件不存在,或目标文件路径的上层目录不存在;

WriteFileOption

参数 类型 必填 说明
data string or ArrayBuffer 要写入的文本或二进制数据
filePath string 要写入的文件路径
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
encoding keyof Encoding 指定写入文件的字符编码
fail (result: WriteFileFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

WriteFileFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 所在目录不存在;
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有写权限;
- ‘fail the maximum size of the file storage limit is exceeded’: 存储空间不足;

FstatOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: FstatFailCallbackResult) => void 接口调用失败的回调函数
success (res: FstatSuccessCallbackResult) => void 接口调用成功的回调函数

FstatFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘bad file descriptor’: 无效的文件描述符;
- ‘fail permission denied’: 指定的 fd 路径没有读权限;

FstatSuccessCallbackResult

参数 类型 说明
stats Stats Stats 对象,包含了文件的状态信息
errMsg string 调用结果

FstatSyncOption

参数 类型 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得

CloseOption

参数 类型 必填 说明
fd string 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: CloseFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

CloseFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘bad file descriptor’: 无效的文件描述符

CloseSyncOption

参数 类型 说明
fd string 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得

FtruncateOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
length number 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节(’\0’)
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: FtruncateFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

FtruncateFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘bad file descriptor’: 无效的文件描述符
- ‘fail permission denied’: 指定的 fd 没有写权限
- ‘fail the maximum size of the file storage limit is exceeded’: 存储空间不足
- ‘fail sdcard not mounted android sdcard’: 挂载失败

FtruncateSyncOption

参数 类型 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
length number 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节(’\0’)

OpenOption

参数 类型 必填 说明
filePath string 文件路径 (本地路径)
flag keyof flag 文件系统标志,默认值: ‘r’
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: OpenFailCallbackResult) => void 接口调用失败的回调函数
success (res: OpenSuccessCallbackResult) => void 接口调用成功的回调函数

OpenFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory “${filePath}”‘: 上级目录不存在

OpenSuccessCallbackResult

参数 类型 说明
fd string 文件描述符
errMsg string 调用结果

OpenSyncOption

参数 类型 必填 说明
filePath string 文件路径 (本地路径)
flag keyof flag 文件系统标志,默认值: ‘r’

ReadOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
arrayBuffer ArrayBuffer 数据写入的缓冲区,必须是 ArrayBuffer 实例
offset number 缓冲区中的写入偏移量,默认0
length number 要从文件中读取的字节数,默认0
position number 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: ReadFailCallbackResult) => void 接口调用失败的回调函数
success (res: ReadSuccessCallbackResult) => void 接口调用成功的回调函数

ReadFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘bad file descriptor’: 无效的文件描述符
- ‘fail permission denied’: 指定的 fd 路径没有读权限
- ‘fail the value of “offset” is out of range’: 传入的 offset 不合法
- ‘fail the value of “length” is out of range’: 传入的 length 不合法
- ‘fail sdcard not mounted’: android sdcard 挂载失败
- ‘bad file descriptor’: 无效的文件描述符

ReadSuccessCallbackResult

参数 类型 说明
bytesRead string 实际读取的字节数
arrayBuffer ArrayBuffer 被写入的缓存区的对象,即接口入参的 arrayBuffer
errMsg string 调用结果

readCompressedFile

Promised

  1. FailCallbackResult | SuccessCallbackResult

Option

参数 类型 必填 说明
filePath string 要读取的文件的路径 (本地用户文件或代码包文件)
compressionAlgorithm string 文件压缩类型,目前仅支持 ‘br’。
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: FailCallbackResult) => void 接口调用失败的回调函数
success (res: SuccessCallbackResult) => void 接口调用成功的回调函数

CompressionAlgorithm

文件压缩类型合法值

参数 说明
br brotli压缩文件

FailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail decompress fail’: 指定的 compressionAlgorithm 与文件实际压缩格式不符
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 所在目录不存在
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有读权限

SuccessCallbackResult

参数 类型 说明
data ArrayBuffer 文件内容

readCompressedFileSync

Option

参数 类型 说明
filePath string 要读取的文件的路径 (本地用户文件或代码包文件)
compressionAlgorithm string 文件压缩类型,目前仅支持 ‘br’。

CompressionAlgorithm

文件压缩类型合法值

参数 说明
br brotli压缩文件

ReadSyncOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
arrayBuffer ArrayBuffer 数据写入的缓冲区,必须是 ArrayBuffer 实例
offset number 缓冲区中的写入偏移量,默认0
length number 要从文件中读取的字节数,默认0
position number 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。

TruncateOption

参数 类型 必填 说明
filePath string 要截断的文件路径 (本地路径)
length number 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节(’\0’)
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: TruncateFailCallbackResult) => void 接口调用失败的回调函数
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

TruncateFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
- ‘fail no such file or directory, open ${filePath}’: 指定的 filePath 所在目录不存在
- ‘fail illegal operation on a directory, open “${filePath}”‘: 指定的 filePath 是一个已经存在的目录
- ‘fail permission denied, open ${dirPath}’: 指定的 filePath 路径没有写权限
- ‘fail the maximum size of the file storage limit is exceeded’: 存储空间不足
- ‘fail sdcard not mounted’: android sdcard 挂载失败

TruncateSyncOption

参数 类型 必填 说明
filePath string 要截断的文件路径 (本地路径)
length number 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节(’\0’)

WriteOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
data string or ArrayBuffer 写入的内容,类型为 String 或 ArrayBuffer
offset number 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0
length number 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数
encoding keyof Encoding 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
position number 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (result: WriteFailCallbackResult) => void 接口调用失败的回调函数
success (res: WriteSuccessCallbackResult) => void 接口调用成功的回调函数

WriteFailCallbackResult

参数 类型 说明
errMsg string 错误信息

可选值:
‘bad file descriptor’: 无效的文件描述符
‘fail permission denied’: 指定的 fd 路径没有写权限
‘fail sdcard not mounted’: android sdcard 挂载失败

WriteSuccessCallbackResult

参数 类型 说明
bytesWritten number 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同)
errMsg string 调用结果

WriteSyncOption

参数 类型 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得
data string or ArrayBuffer 写入的内容,类型为 String 或 ArrayBuffer
offset number 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0
length number 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数
encoding keyof Encoding 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
position number 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。

API 支持度

API 微信小程序 H5 React Native
FileSystemManager ✔️
FileSystemManager.access ✔️
FileSystemManager.accessSync ✔️
FileSystemManager.appendFile ✔️
FileSystemManager.appendFileSync ✔️
FileSystemManager.close ✔️
FileSystemManager.closeSync ✔️
FileSystemManager.copyFile ✔️
FileSystemManager.copyFileSync ✔️
FileSystemManager.fstat ✔️
FileSystemManager.fstatSync ✔️
FileSystemManager.ftruncate ✔️
FileSystemManager.ftruncateSync ✔️
FileSystemManager.getFileInfo ✔️
FileSystemManager.getSavedFileList ✔️
FileSystemManager.mkdir ✔️
FileSystemManager.mkdirSync ✔️
FileSystemManager.open ✔️
FileSystemManager.openSync ✔️
FileSystemManager.read ✔️
FileSystemManager.readCompressedFile ✔️
FileSystemManager.readCompressedFileSync ✔️
FileSystemManager.readdir ✔️
FileSystemManager.readdirSync ✔️
FileSystemManager.readFile ✔️
FileSystemManager.readFileSync ✔️
FileSystemManager.readSync ✔️
FileSystemManager.readZipEntry ✔️
FileSystemManager.removeSavedFile ✔️
FileSystemManager.rename ✔️
FileSystemManager.renameSync ✔️
FileSystemManager.rmdir ✔️
FileSystemManager.rmdirSync ✔️
FileSystemManager.saveFile ✔️
FileSystemManager.saveFileSync ✔️
FileSystemManager.stat
FileSystemManager.statSync ✔️
FileSystemManager.truncate ✔️
FileSystemManager.truncateSync ✔️
FileSystemManager.unlink ✔️
FileSystemManager.unlinkSync ✔️
FileSystemManager.unzip ✔️
FileSystemManager.write ✔️
FileSystemManager.writeFile ✔️
FileSystemManager.writeFileSync ✔️
FileSystemManager.writeSync ✔️