2017-11-10 5 views
1

DownloadsFolderを使用してファイルを作成し、それをユーザーファイルエクスプローラに表示します。私はLauncher.LaunchFolderAsyncを使用することができますが、それは引数としてStorageFolderを必要としますが、その特定のディレクトリの取得方法はないと確信しています。DownloadFolderでファイルを作成してファイルエクスプローラに表示

どうすればいいですか?

答えて

0

あなたはDownloadsFolderにアクセスすることはできませんが、ここで私のアプリで使ったトリックです。

まず、アプリケーションのpackage.appxmanifestでファイルタイプの関連付けを作成する必要があります。 第2に、「ダウンロード」フォルダ内にフォルダを作成し、このフォルダをトークン名でStorageApplicationPermissions.FutureAccessListに追加する必要があります。 ので:ので、このフォルダを開くには、ファイルを作成するための今

public async Task CreatePictureFolderAsync() 
{ 
    try 
    { 
     var folder = await DownloadsFolder.CreateFolderAsync("Pictures"); 
     // add your folder to StorageApplicationPermissions.FutureAccessList 
     StorageApplicationPermissions.FutureAccessList.AddOrReplace(token, folder); 
    } 
    catch (Exception ex) { ex.Exception("CreatePictureFolderAsync"); } 
} 

これを行う>

string token = "picturesTokenNaME"; 
private async void btnCreate_Click(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     await CreatePictureFolderAsync(); 
     var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token); 
     var file = await folder.CreateFileAsync("abc.txt", CreationCollisionOption.GenerateUniqueName); 
     await FileIO.WriteTextAsync(file, "ameeeeeeeeeeeeeeeeeeeeeeeee"); 

    } 
    catch (Exception ex) { ex.Exception("btnCreate_Click"); } 
} 

、ちょうどこの操作を行います。

private async void btnOpen_Click(object sender, RoutedEventArgs e) 
     { 
      var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token); 
      var file = await folder.GetFileAsync("abc.txt"); 
      var text = await FileIO.ReadTextAsync(file); 
      Debug.WriteLine(text); 
      await Launcher.LaunchFolderAsync(folder); 
     } 

希望このヘルプあなたを。

ラムチン。

関連する問題