@@ -64,22 +64,44 @@ public void ListenForEvents()
6464 }
6565 private async void HandleFileSelectionRequested ( NeedFileOpenerEvent @event )
6666 {
67- var topLevel = TopLevel . GetTopLevel ( this ) ;
68- var files = await topLevel . StorageProvider . OpenFilePickerAsync ( new FilePickerOpenOptions
67+ var topLevel = GetTopLevel ( this ) ;
68+ IEnumerable < IStorageItem > items ;
69+
70+ if ( @event . FolderPicker )
71+ {
72+ items = await topLevel . StorageProvider . OpenFolderPickerAsync ( new FolderPickerOpenOptions
73+ {
74+ Title = @event . Title ,
75+ SuggestedStartLocation = await StorageProvider . TryGetFolderFromPathAsync ( @event . Directory ) ,
76+ AllowMultiple = @event . Multiselect ,
77+ SuggestedFileName = @event . FileName ,
78+ } ) ;
79+ }
80+ else
6981 {
70- Title = @event . Title ,
71- AllowMultiple = @event . Multiselect ,
72- SuggestedFileName = @event . FileName ,
73- SuggestedStartLocation = await StorageProvider . TryGetFolderFromPathAsync ( @event . Directory )
74- } ) ;
82+ items = await topLevel . StorageProvider . OpenFilePickerAsync ( new FilePickerOpenOptions
83+ {
84+ Title = @event . Title ,
85+ AllowMultiple = @event . Multiselect ,
86+ SuggestedFileName = @event . FileName ,
87+ SuggestedStartLocation = await StorageProvider . TryGetFolderFromPathAsync ( @event . Directory ) ,
88+ } ) ;
89+ }
7590
76- if ( files . Count > 0 )
91+ if ( items . Any ( ) )
7792 {
78- string ? [ ] filePaths = files . Select ( f => f . Path . ToString ( ) ) . ToArray ( ) ;
79- UploadManager . UploadFile ( filePaths , @event . TaskSettings ) ;
93+ var itemPaths = items . Select ( item => item . Path . LocalPath ) . ToArray ( ) ;
94+ var itemPathsAsString = string . Join ( ", " , itemPaths ) ;
95+ DebugHelper . WriteLine ( itemPathsAsString ) ;
96+ UploadManager . UploadFile ( itemPaths , @event . TaskSettings ) ;
97+ }
98+ else
99+ {
100+ DebugHelper . WriteLine ( "Got no files/folders back!" ) ;
80101 }
81102 }
82103
104+
83105 // Event handler for the button click
84106 private void OnDemoTestButtonClick ( object sender , RoutedEventArgs e )
85107 {
0 commit comments