2016-08-25 10 views
0

ストレージフォルダから画像ソースを追加しようとしています。まず、私は写真をキャプチャし、次のページで、ストレージフォルダStorageFile UWPから画像ソースを追加

 Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 

     private async void btnPhoto_Click(object sender, RoutedEventArgs e) 
    { 
      // Create the file that we're going to save the photo to. 
     var file = await storageFolder.CreateFileAsync("sample.jpg", CreationCollisionOption.GenerateUniqueName); 

     // Update the file with the contents of the photograph.   

     await _mediaCapture.CapturePhotoToStorageFileAsync(ImageEncodingProperties.CreateJpeg(), file); 
    } 

に保存し、私はキャッシュから写真を取得する必要がありますが、私は

 public async void GetImage() 
    { 

     string filename = "sample.jpg"; 
     Windows.Storage.StorageFile sampleFile = 
      await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync(filename); // Here I have exception {"Access is denied.\r\n"} System.UnauthoriziedAccessException 


     BitmapImage img = new BitmapImage(); 
     img = await LoadImage(sampleFile); 

     image1.Source = img; 
    } 


    private static async Task<BitmapImage> LoadImage(StorageFile file) 
    { 
     BitmapImage bitmapImage = new BitmapImage(); 
     FileRandomAccessStream stream = (FileRandomAccessStream)await file.OpenAsync(FileAccessMode.Read); 

     bitmapImage.SetSource(stream); 

     return bitmapImage; 
    } 

何SAMPLEFILE

を作成していたとき、私は、例外を持っています私は間違っている?また、どのようにしてストレージフォルダにアクセスできますか?

答えて

0

ユーザーが許可しない限り、ドキュメントライブラリにアクセスすることはできません。マニフェストでドキュメントライブラリへのアクセスを指定することはできますが、特定のファイルに対してのみ可能です。マイクロソフトが述べたアクセス権を本当に必要としない限り、Windowsストアに公開されることはありません。 .jpgファイルを使用している場合、そのためのピクチャライブラリがあり、マニフェストで指定することができ、すべてうまく動作します。

それ以外の場合は、ファイルピッカーからアクセスして、トークンを保存して後で呼び出すことができます。