侧边栏壁纸
  • 累计撰写 25 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Tauri 通过 FS API (writeTextFile) 保存文件的一些问题

LinJHS
2023-09-08 / 0 评论 / 0 点赞 / 60 阅读 / 2481 字 / 正在检测是否收录...

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)

解决方案

在询问了大佬之后,尝试了:

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 });
  }

没错,创建一个文件夹之后,就起效果了!

0

评论区