FileSystemManager.readFile
收藏
我的收藏

基础库 1.15.0 开始支持本方法,这是一个异步方法。

读取本地文件内容。

前提条件
业务背景
使用限制
注意事项
  • Tip: readFile 可以用于 用户目录(ttfile://user) 临时目录(ttfile://temp) 以及 包内目录(访问包内目录不需要加额外协议头)。
支持沙盒
相关教程

语法

FileSystemManager.readFile(options)

参数说明

options 为 object 类型,属性如下:

属性名类型默认值必填说明最低支持版本
lengthnumber
指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte
2.60.0
positionnumber
从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
2.60.0
encodingenum
指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
1.15.0
filePathstring
要读取的文件的路径
1.15.0
successfunction
接口调用成功的回调函数
1.15.0
failfunction
接口调用失败的回调函数
1.15.0
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)
1.15.0

encoding 的合法值

说明最低支持版本
utf-81.15.0
ascii1.15.0
base641.15.0
binary

ISO-8859-1

1.15.0
hex
十六进制
1.15.0
ucs2

以小端序读取

1.15.0
ucs-2

以小端序读取

1.15.0
utf16le

以小端序读取

1.15.0
utf-16le

以小端序读取

1.15.0
utf81.15.0
latin1

ISO-8859-1

1.15.0

回调成功

object 类型,属性如下:

属性名类型说明最低支持版本
datastring | arraybuffer
“string | ArrayBuffer 类型的数据”
1.15.0
errMsgstring
"readFile:ok"
1.15.0

回调失败

object 类型,属性如下:

属性名类型说明最低支持版本
errMsgstring
"readFile:fail " + 详细错误信息
1.15.0

错误码

errNoerrMsg说明最低支持版本
20000writeFile:fail filePath is invalid
filePath 参数错误
1.99.0
20000readFile:fail the value of "position" is out of range
position 超出有效范围
2.60.0
20000readFile:fail the value of "length" is out of range
length 超出有效范围
2.60.0
21101readFile:fail permission denied, readFile %s
filePath 路径不可读
1.99.0
21102readFile:fail operation not permitted, readFile %s
filePath 类型不是文件
1.99.0
21103readFile:fail no such file or directory, readFile %s
filePath 文件不存在
1.99.0

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

const fileSystemManager = tt.getFileSystemManager()

tt.chooseImage({
  success(res) {
    readFile(res.tempFilePaths[0])
  },
})

function readFile(filePath) {
  fileSystemManager.readFile({
    filePath,
    position: 0,
    length: 10,
    success(res) {
      // 输出读取的文件内容
      console.log(res.data)
    },
    fail(res) {
      console.log("调用失败", res.errMsg)
    },
  })
}