Таким образом, я создаю приложение для магазина Windows, которое вы выбираете с помощью одной кнопки, с помощью подборщика файлов, а затем с другой кнопкой обрабатывает этот файл, но им не удается получить выбранный файл для обработки.
Поскольку Picker устанавливает один из моих текстовых блоков на пути к файлу, который будет отображаться для пользователя я попытался с помощью:
StorageFile file = await StorageFile.GetFileFromPathAsync(fullFilePath.Text);
Но из-за ограничений Windows RT Я просто получить доступ к нему отказано в большинстве мест
Любые другие предложения о том, что попробовать?Как получить доступ к StorageFile с помощью другого метода
Первый щелчок кнопки:
private async Task getFile()
{
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.List;
openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
openPicker.FileTypeFilter.Add(".txt");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
fullFilePath.Text = file.Path;
}
else
{
updateStatus("File Selection cancelled.");
}
}
Вторая кнопка запуска этого, но нужно использовать файл из выше
private async Task processFile()
{
...
string content = await FileIO.ReadTextAsync(file);
...
}
возможным дублировать [файл вызова с другого метода] (http://stackoverflow.com/questions/16797452/call-file-from-another-meth od) –
@chue ах, спасибо за то, что я прочитал – Toxicable
. Замечание: Как правило, вам следует избегать программирования с путями файлов в приложениях Universal Windows - основное (только?) использование для них - передать Win32 функции, которые принимают пути к файлам или, возможно, отображаться пользователю. Вы никогда не должны сохранять путь к файлу в любом месте и ожидать, что он снова будет работать (* даже путь к вашим собственным данным *). –