読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

StorageFileをアプリデータとして取り込むには

例えば画像ファイルなどをアプリ内でキャッシュするためにアプリ内データとして取り込みたいとして、いちいちbyteデータに変換してまたApplicationData.LocalFolderないにファイルを作り書き込むぐらいならStorageFileごとコピーしてしまった方が簡単でコストがかかりません。

StorageFileはCopyAsyncメソッドで任意のStorageFolderにファイルをコピーすることができます。

 

画像データの場合、StorageFileごとApplicationData.Current.LocalFolderにコピーを作り、そのパスをImageコントロールのSourceに設定すると楽です。

//Storageファイルを取得
FileOpenPicker picker = new FileOpenPicker();
picker.FileTypeFilter.Add(".png");
IStorageFile file = await picker.PickSingleFileAsync();

//アプリデータへの取り込み
StorageFolder folder=ApplicationData.Current.LocalFolder;
IStorageFile innerFile=await file.CopyAsync(folder,"hogehoge.png");

image.Source =new BitmapImage(new Uri(innerFile.Path));

 

StorageFileをアプリデータとして取り込むには | garicchi.com