File tree 1 file changed +15
-4
lines changed
1 file changed +15
-4
lines changed Original file line number Diff line number Diff line change 1
- using Windows . Storage . Pickers ;
1
+ using Windows . Storage ;
2
+ using Windows . Storage . Pickers ;
2
3
3
4
namespace LukeMauiFilePicker ;
4
5
@@ -19,10 +20,20 @@ public partial async Task<bool> SaveFileAsync(SaveFileOptions options)
19
20
var file = await picker . PickSaveFileAsync ( ) ;
20
21
if ( file is null ) { return false ; }
21
22
22
- using var outStr = await file . OpenStreamForWriteAsync ( ) ;
23
- await options . Content . CopyToAsync ( outStr ) ;
23
+ return await WriteToFileAsync ( file , options . Content ) ;
24
+ }
25
+
26
+ static async Task < bool > WriteToFileAsync ( IStorageFile file , Stream content )
27
+ {
28
+ CachedFileManager . DeferUpdates ( file ) ;
29
+
30
+ await using var stream = await file . OpenStreamForWriteAsync ( ) ;
31
+ stream . SetLength ( 0 ) ;
32
+
33
+ await content . CopyToAsync ( stream ) ;
24
34
25
- return true ;
35
+ var status = await CachedFileManager . CompleteUpdatesAsync ( file ) ;
36
+ return status == Windows . Storage . Provider . FileUpdateStatus . Complete ;
26
37
}
27
38
28
39
static FileSavePicker ? CreatePicker ( )
You can’t perform that action at this time.
0 commit comments