A Blazor wrapper for the File System Access browser API, enabling local file system read/write operations from web applications.
Blazor.FileSystemAccess is a .NET library that wraps the browser's File System Access API for use in Blazor applications. It enables web applications to read from and write to the user's local file system directly from the browser, eliminating the need for traditional file uploads and downloads. The library provides a type-safe C# interface to interact with files and directories, making it easier for .NET developers to implement native-like file operations in their web projects.
Blazor developers building web applications that require local file system interactions, such as text editors, image processors, or data import/export tools. It's particularly useful for projects that need to work with user-selected files without server-side processing.
Developers choose Blazor.FileSystemAccess because it provides a clean, idiomatic C# API for a modern browser feature, reducing JavaScript interop complexity. It offers type safety, dependency injection support, and handles the nuances of the underlying File System Access API, allowing .NET teams to leverage native file capabilities while staying within their preferred ecosystem.
A Blazor wrapper for the File System Access browser API.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides an idiomatic C# wrapper for the browser's File System Access API, reducing JavaScript interop complexity and enabling clean code patterns, as highlighted in the project's philosophy.
Easy integration via service registration in Blazor applications, allowing seamless injection into pages using `builder.Services.AddFileSystemAccessService()`, as shown in the usage examples.
Works with both Blazor WebAssembly and Blazor Server projects, offering flexibility in deployment models, as stated in the key features section.
Enables efficient handling of large files through streaming in Blazor WebAssembly, though it's noted as unsupported in Blazor Server due to bandwidth issues.
The underlying File System Access API is not supported on Firefox, Chrome for Android, or iOS mobile browsers, as explicitly disclaimed in the README, severely restricting cross-platform use.
Streaming of large files is unsupported in Blazor Server projects due to bandwidth problems, a known issue mentioned in the README, limiting performance for server-hosted applications.
Requires .NET 7.0 or newer, which can be a barrier for teams maintaining legacy applications or those not yet upgraded, as specified in the prerequisites.