FileSystemManager.readFile

解释:读取本地文件内容。

Web 态说明:受浏览器限制,Web 态不支持文件系统相关功能,调用该方法会执行失败回调函数。

方法参数:Object object

object参数说明

参数名 类型 必填 默认值 说明
filePath String - 文件/目录路径。“本地用户文件”须以 swan.env.USER_DATA_PATH 开头(如 'swan.env.USER_DATA_PATH' + '/demo.txt'),否则认为是“代码包文件”(如 'asset/bg.jpg')。不支持相对路径。
encoding String - 指定读文件的字符编码。如果不指定,则读出 ArrayBuffer;如果指定,则读出 string。
success Function - 接口调用成功的回调函数
fail Function - 接口调用失败的回调函数
complete Function - 接口调用结束的回调函数(调用成功、失败都会执行)

encoding 的合法值

说明
ascii
base64 对输入的字符串进行 base64 解码再写入
hex 十六进制
ucs2/ucs-2/utf16le/utf-16le 以小端序读取
utf-8/utf8
latin1/binary ISO-8859-1 的别名

success 返回参数说明

参数 类型 说明
data string/ArrayBuffer 读取结果

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 图片示例

# 代码示例

    <view class="wrap">
        <button type="primary"  bindtap="readFile">读取本地文件内容</button>
    </view>
    
    Page({
        data: {
            filePath: ''
        },
        onLoad() {
            this.fileSystemManager = swan.getFileSystemManager();
            swan.downloadFile({
                url: 'https://smartprogram.baidu.com/docs/img/logo.png',
                success: res => {
                    swan.showToast({
                        title: `文件预下载完成,临时路径为${res.tempFilePath}`,
                        icon: 'none'
                    });
                    // 此为 “本地临时文件” 路径。
                    this.data.filePath = res.tempFilePath;
                }
            });
        },
        readFile() {
            this.fileSystemManager.readFile({
                filePath: this.data.filePath,
                encoding: 'utf8',
                success: res => {
                    swan.showToast({
                        title: res.errMsg,
                        icon: 'none'
                    });
                    console.log('readFile success', res);
                },
                fail: err => {
                    swan.showToast({
                        title: JSON.stringify(err),
                        icon: 'none'
                    });
                    console.log('readFile fail', err);
                }
            });
        }
    });