FileSystemManager.readFile
简介
读取本地文件内容。单个文件大小上限为 100M。
使用限制
基础库 3.0.0
或更高版本支持。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
filePath | string | 是 | 要读取的文件的路径(如果读取的是小程序内的目录,例如根目录下的 images 目录内的图片,则可以传 "images/xx.png") | |
encoding | string | 否 | 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容。 合法值: 1. ascii 2. base64 3. binary 4. hex 5. ucs2 以小端序读取 6. ucs-2 以小端序读取 7. utf16le 以小端序读取 8. utf-16le 以小端序读取 9. utf-8 10. utf8 11. latin1 | |
length | number | 否 | 指定文件的长度,如果不指定,则读到文件末尾。 有效范围:[1, fileLength]。 单位:byte | |
position | number | 否 | 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。 有效范围:[0, fileLength - 1]。 单位:byte | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
data | string/ArrayBuffer | 文件内容 |
success | string | true-成功 |
object.fail 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
errMsg | string | 错误信息 |
success | string | false-失败 |
errMsg 说明
错误信息 | 说明 |
---|---|
parameter error: F10001 | 参数不合法 |
fail sdcard not mounted: F10002 | Android sdcard 挂载失败 |
fail no such file or directory: F10007 ${filePath} | 指定的 filePath 所在目录不存在 |
native buffer exceeds size limit: F10008 | 文件大小超出上限(100M) |
the named is ${encoding} charset is not supported! | 当前字符编码不支持 |
示例代码
// pages/index/index.js
Page({
readFile() {
const fs = dlt.getFileSystemManager();
fs.readFile({
filePath: `${dlt.env.USER_DATA_PATH}/hello.txt`,
encoding: "utf8",
position: 0,
success(res) {
console.log(res.data);
},
fail(res) {
console.error(res);
},
});
},
});