2016-10-05 16 views
1

Zugriff auf die Dateien des Systemlaufwerks (C, D) in UWP AppService. Beispiel: Ich möchte auf die Datei "C: \ Test \ sample.txt" von UWP AppServices zugreifen.Zugriff auf C-Laufwerkdateien in UWP AppService

Ich habe den folgenden Code ausprobiert. aber Wurffehler (Zusatzinformation: Zugriff verweigert.). Außerdem wurden die "Removable Storage" -Kapazitäten in der appxmanifest-Datei hinzugefügt.

StorageFolder testfolder = await StorageFolder.GetFolderFromPathAsync(@"c:\\test"); 
StorageFile sourcefile = await testfolder.GetFileAsync("sample.txt"); 
StorageFile destinationfile = await KnownFolders.SavedPictures.CreateFileAsync("Mysample.txt"); 
using (var sourcestream = (await sourcefile.OpenReadAsync()).GetInputStreamAt(0)) 
{ 
    using (var destinationstream = (await destinationfile.OpenAsync(FileAccessMode.ReadWrite)).GetOutputStreamAt(0)) 
    { 
     await RandomAccessStream.CopyAndCloseAsync(sourcestream, destinationstream); 
    } 
} 

Antwort

1

Ohne Interaktion mit dem Benutzer, können Sie nur bestimmte Orte öffnen (siehe https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions). Wie von @TheTanic erwähnt, können Sie nur auf andere Standorte zugreifen mit Benutzerinteraktion (FileOpenPicker/FolderPicker). Für einen "reinen" UWP AppService ist das natürlich ein Problem.

Hier ist ein Ansatz (ich werde es nicht einmal nennt eine Lösung), das nur für eine sehr enge Reihe von Szenarien funktioniert: Wenn ...

  • Sie wissen, dass alle Dateien unter einem bestimmten Ordner und
  • es ist OK für Sie mindestens UI einige Art (minimal)

dann können Sie folgendes zu tun haben:

natürlich in der Praxis erhalten würden Sie die FutureAccessList jedes Mal Zugriff auf die Anwendung gestartet wird, und wenn Es enthält dann nicht den Ordner frage den Benutzer.

Verwandte Themen