3

C# を使用して Windows 8 アプリを開発しています。ここでは、FilePicker を使用して目的の場所からファイルを選択しています。ローカル ドライブから選択したファイルのパスを知っています。

ファイルをストレージファイルとして使用したい。

  StorageFile Newfile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(Path); // Path is file path

  StorageFile file = await KnownFolders.PicturesLibrary.GetFileAsync(Path);

しかし、これは私のプロジェクトが置かれた場所と、写真ライブラリからファイルをロードするための別のものです。誰でも私に正しい道を教えてくれますか?

ありがとう。

4

1 に答える 1

5

WinRT にGetFileFromPathAsync()は class のメソッドStorageFileがありますが、そのメソッドでファイルを開くことはできません。あなたが持っている唯一のオプションは、StorageItemMostRecentlyUsedListクラスを使用することです。これは、 most recent used files listまたはfuture access listに保存されたすべてのファイルのトークンを取得するのに役立ちます。からアクセスした のトークンを保存するには、クラスFileOpenPickerを使用する必要があります。StorageApplicationPermissionsここでは、ファイルのトークンを保存する方法と、そのファイルのトークンを取得してアクセスする方法を説明します。

トークンを保存するには

FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");

StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
    // Add to most recently used list with metadata (For example, a string that represents the date)
    string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20130622");

    // Add to future access list without metadata
    string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);  
}
else
{
    // The file picker was dismissed with no file selected to save
}

トークンを使用してファイルを取得するには

StorageItemMostRecentlyUsedList MRU = 新しい StorageItemMostRecentlyUsedList();

StorageFile ファイル = await MRU.GetFileAsync(token);

アップデート

await StorageApplicationPermissions.MostRecentlyUsedList.GetFileAsync(token);
于 2013-06-22T15:39:48.070 に答える