FileSystemManager.writeFileSync

解释:写文件的同步接口。

Web 态说明:受浏览器限制,Web 态不支持文件系统相关功能,调用该方法会抛出一个标准的 Error 对象。

方法参数:String filePath, String/ArrayBuffer data, String encoding

filePath参数说明:文件/目录路径。须以 swan.env.USER_DATA_PATH 开头(如 'swan.env.USER_DATA_PATH' + '/demo.txt')。

data参数说明:要写入的文本。

encoding参数说明:指定写入文件的字符编码,默认为 utf8。

encoding 的合法值

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

若接口调用失败,会抛出一个标准的Error对象

# 示例

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

# 图片示例

# 代码示例

    <view class="wrap">
        <button type="primary"  bindtap="writeFileSync">写文件</button>
    </view>
    
    Page({
        data: {
            filePath: ''
        },
        onLoad() {
            this.fileSystemManager = swan.getFileSystemManager();
            swan.downloadFile({
                url: 'https://b.bdstatic.com/docs/file.zip',
                success: res => {
                    swan.showToast({
                        title: `文件预下载完成,临时路径为${res.tempFilePath}`,
                        icon: 'none'
                    });
                    // 此为 “本地临时文件” 路径。
                    this.data.filePath = res.tempFilePath;
                    // 将 “本地临时文件” 持久化成 “本地用户文件”。
                    this.fileSystemManager.saveFileSync(res.tempFilePath, `${swan.env.USER_DATA_PATH}/demo.pdf`);
                }
            });
        },
        writeFileSync() {
            try {
                let result = this.fileSystemManager.writeFileSync(
                    `${swan.env.USER_DATA_PATH}/demo.pdf`,
                    'writeFile'
                );
                swan.showToast({
                    title: 'writeFileSync success',
                    icon: 'none'
                });
                console.log('writeFileSync success', result);
            }
            catch (err) {
                swan.showToast({
                    title: err + '',
                    icon: 'none'
                });
                console.log('writeFileSync fail', err);
            }
        }
    });