patterntypescriptModerate
Tauri filesystem plugin for file access
Viewed 0 times
tauri fsfilesystem plugincapabilitiesreadTextFilewriteTextFilepermissions scope
tauri
Error Messages
Problem
Tauri frontend needs to read and write files, but direct filesystem access requires explicit permission declarations in Tauri's capability system.
Solution
Add tauri-plugin-fs to Cargo.toml, register the plugin, declare capabilities in src-tauri/capabilities/*.json, then use @tauri-apps/plugin-fs from JS.
Why
Tauri's capability system enforces least-privilege access. Without explicit permission declarations, file operations are blocked, preventing supply-chain attacks via frontend code.
Gotchas
- Tauri v2 uses a capabilities JSON system — v1 used allowlist in tauri.conf.json; they are incompatible
- Scoping paths (e.g., $APPDATA/**) limits which directories can be accessed
- The fs plugin must be explicitly added — it is not available by default
- readTextFile and writeTextFile are convenience wrappers; use readFile for binary data
Code Snippets
Read file with Tauri fs plugin
import { readTextFile, BaseDirectory } from '@tauri-apps/plugin-fs';
const contents = await readTextFile('config.json', { baseDir: BaseDirectory.AppConfig });Revisions (0)
No revisions yet.