Tauri 通过 FS API (writeTextFile) 保存文件的一些问题
前言
我在使用 FS API 进行文件读写,但遇到了一些问题,下面是部分代码:
对了,这里使用了 setup 语法糖
<script setup>
import { BaseDirectory, exists, writeTextFile, readTextFile, createDir } from '@tauri-apps/api/fs';
async function getList() {
try {
const filePath = 'xxx.json';
const fileContent = 'xxx';
if (!(await exists(filePath, { dir: BaseDirectory.AppData }))) {
await writeTextFile(filePath, fileContent, { dir: BaseDirectory.AppData });
console.log('File created successfully');
} else {
console.log('File already exists');
}
} catch (error) {
console.error('Error creating file:', error);
}
}
getList();
</script>
当我尝试运行代码时,控制台显示:
Error creating file: path: C:\Users\xxx\AppData\Roaming\com.tauri.dev\xxx.json: 系统找不到指定的路径。 (os error 3)
解决方案
在询问了 Discord 上的大佬之后,尝试了:
await writeTextFile(filePath, fileContent, { dir: BaseDirectory.AppData, recursive: true });
并不起效果。
然而,解决方法相当简单,只要:
if (!(await exists('xxxx.json', { dir: BaseDirectory.AppData }))) {
await createDir('data', { dir: BaseDirectory.AppData, recursive: true });
await writeTextFile('xxxx.json', 'xxx', { dir: BaseDirectory.AppData });
}
没错,创建一个文件夹之后,就起效果了!
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 LinJHS
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

