FileSystemManager.readFile(Object object)

Promise 风格 调用:不支持

小程序插件:不支持

读取本地文件内容

参数

Object object

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

object.encoding 的合法值

说明 最低版本
ascii
base64
binary
hex
ucs2 以小端序读取
ucs-2 以小端序读取
utf16le 以小端序读取
utf-16le 以小端序读取
utf-8
utf8
latin1

object.success 回调函数

参数
Object res
属性 类型 说明
data string/ArrayBuffer 文件内容

object.fail 回调函数

参数
Object res
属性 类型 说明
errMsg string 错误信息

res.errMsg 的合法值

说明 最低版本
fail no such file or directory, open ${filePath} 指定的 filePath 所在目录不存在
fail permission denied, open ${dirPath} 指定的 filePath 路径没有读权限
fail sdcard not mounted Android sdcard 挂载失败

示例代码

const fs = wx.getFileSystemManager()
fs.readFile({
  filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  encoding: 'utf8',
  position: 0,
  success(res) {
    console.log(res.data)
  },
  fail(res) {
    console.error(res)
  }
})

// 同步接口
try {
  const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0)
  console.log(res)
} catch(e) {
  console.error(e)
}