You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
7
7
## [Unreleased]
8
8
9
+
## [4.0.0] - 2026-04-14
10
+
### Removed
11
+
- Removed `FilePickerOptionsStartInWellKnownDirectory` and `FilePickerOptionsStartInFileSystemHandle` and replaced their usages with the new `FilePickerOptions` class.
12
+
- Removed `DirectoryPickerOptionsStartInWellKnownDirectory` and `DirectoryPickerOptionsStartInFileSystemHandle`. Use `DirectoryPickerOptions` instead.
13
+
- Removed `OpenFilePickerOptionsStartInWellKnownDirectory` and `OpenFilePickerOptionsStartInFileSystemHandle`. Use `OpenFilePickerOptions` instead.
14
+
- Removed `SaveFilePickerOptionsStartInWellKnownDirectory` and `SaveFilePickerOptionsStartInFileSystemHandle`. Use `SaveFilePickerOptions` instead.
15
+
- Removed `FileSystemAccessOptions` as we can achieve the same by using an import map to reduce cluttered and inconsistent APIs.
16
+
### Changed
17
+
- Reduced number of overloads for the `ShowDirectoryPickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `DirectoryPickerOptions` parameter.
18
+
- Reduced number of overloads for the `ShowOpenFilePickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `OpenFilePickerOptions` parameter.
19
+
- Reduced number of overloads for the `ShowSaveFilePickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `SaveFilePickerOptions` parameter.
20
+
- Changed the version of `Blazor.FileSystem` to use the newest version which is `1.0.3`.
21
+
### Added
22
+
- Added `DirectoryPickerOptions` that encompases all the ways that we can adjust how we open a directory.
23
+
- Added `OpenFilePickerOptions` that encompases all the ways that we can adjust how we open a file.
24
+
- Added `SaveFilePickerOptions` that encompases all the ways that we can adjust how we save a file.
25
+
- Added `FilePickerOptions` which better reflects the same as the WebIDL specification.
26
+
9
27
## [3.3.0] - 2025-04-08
10
28
### Added
11
29
- Added Mode option for BaseDirectoryPickerOptions. By [@datvm](https://github.com/datvm).
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,16 +7,16 @@
7
7
# Introduction
8
8
A Blazor wrapper for the browser API [File System Access](https://wicg.github.io/file-system-access)
9
9
10
-
The API makes it possible to read and write to your local file system from the browser both files and directories.
10
+
The API makes it possible to read and write to your local file system from the browser, both files and directories.
11
11
12
-
_Disclaimer: The API is supported on a limited set of browsers. Most noticeable not supported on Firefox, Chrome for Android, and iOS mobile browsers._
12
+
_Disclaimer: The API is supported on a limited set of browsers. Most notably not supported on Firefox, Chrome for Android, and iOS mobile browsers._
13
13
14
14
## Demo
15
15
The sample project can be demoed at https://kristofferstrube.github.io/Blazor.FileSystemAccess/
16
16
17
17
On each page you can find the corresponding code for the example in the top right corner.
18
18
19
-
On the main page you can see if the API has at least minimal support in the used browser.
19
+
On the main page you can see if the API has at least minimal support in the browser being used.
20
20
21
21
On the [Status page](https://kristofferstrube.github.io/Blazor.FileSystemAccess/Status) you can see how much of the WebIDL specs this wrapper has covered.
22
22
@@ -27,7 +27,7 @@ You need to install .NET 7.0 or newer to use the library.
@@ -81,7 +81,7 @@ Then you can use `IFileSystemAccessService` to open one of the three dialogs ava
81
81
}
82
82
catch (JSException ex)
83
83
{
84
-
// Handle Exception or cancelation of File Access prompt
84
+
// Handle Exception or cancellation of File Access prompt
85
85
Console.WriteLine(ex);
86
86
}
87
87
finally
@@ -127,16 +127,16 @@ var fileHandles = await FileSystemAccessService.ShowOpenFilePickerAsync(options)
127
127
```
128
128
129
129
## Removed `FileSystemAccessOptions`
130
-
We removed the `FileSystemAccessOptions` parameter and all methods that previously accepted it as it duplicated functionality that could be achived in other ways.
130
+
We removed the `FileSystemAccessOptions` parameter and all methods that previously accepted it as it duplicated functionality that could be achieved in other ways.
131
131
132
132
Instead of using them, you need to configure an [importmap](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap) if you want to define custom paths for loading the helper modules from this library.
133
133
134
-
Blazor also has a native [ImportMap component](https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-10.0#importmap-component) that that plays well with fingerprinted resources.
134
+
Blazor also has a native [ImportMap component](https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-10.0#importmap-component) that plays well with fingerprinted resources.
The `ValuesAsync` method was removed from Blazor.FileSystem, and instead you should now use the `ValuesAsync` extension method available from Blazor.WebIDL.
138
138
139
-
This change was made to make easier to handle memory safely.
139
+
This change was made to make it easier to handle memory safely.
140
140
141
141
So if you had the following before:
142
142
```csharp
@@ -165,14 +165,14 @@ In the above example, we pass `true` for the `disposePreviousValueWhenMovingToNe
165
165
# Issues
166
166
Feel free to open issues on the repository if you find any errors with the package or have wishes for features.
167
167
168
-
A known issue is that using Streams to stream large amount of data in Blazor Server is not supported.
168
+
A known issue is that using Streams to stream large amounts of data in Blazor Server is not supported.
169
169
170
170
# Related repositories
171
171
This project uses the *Blazor.FileSystem* package to return rich `FileSystemHandle`s both `FileSystemFileHande`s and `FileSystemDirectoryHandle`s.
0 commit comments