Вы можете использовать FileOpenPicker
для доступа к локальному расположению, например, используя FileOpenPicker access PictureLibrary
. Для получения дополнительной информации о FileOpenPicke вы можете обратиться к этому документу .
var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
picker.FileTypeFilter.Add(".png");
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
// Application now has read/write access to the picked file
this.textBlock.Text = "Picked photo: " + file.Name;
}
else
{
this.textBlock.Text = "Operation cancelled.";
}
Я не знаю, как вы используете возможность broadFileSystemAccess
и вызывает это неожиданное поведение. Как правило, возможности broadFileSystemAccess
позволяют получить доступ к папкам с помощью StorageFolder()
API, например:
StorageFile file = await StorageFile.GetFileFromPathAsync(@"D:\test.txt");
Для получения дополнительной информации о доступе к дополнительным местоположениям вы можете обратиться к этому документу
обновление
Существует способ доступа к локальному местоположению. Вы можете использовать MRU
и Future-access list
. Например, используйте FileOpenPicker
, чтобы получить файл и сохранить этот файл в Future-access list
и MRU
:
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20120716");
string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);
Для получения дополнительной информации о MRU
и Future-access list
, вы можете обратиться к этому документ .