FilePicker возвращает имя и путь в виде строк - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть средство сохранения файлов и открытия файлов, в которое я сейчас пытаюсь интегрировать возможность сохранения Path и FileName в качестве публичной переменной, которая будет использоваться во всем проекте различными способами и т. Д.

В настоящее время у меня есть SaveFileClass и OpenFileClass .

Я видел примеры использования OpenFileDialog для возврата каталога сохранения, хотя я не думаю, что они подходят для того, что я после. Может быть, в той или иной форме, но, похоже, не имеет особого смысла для FileOpenPicker и FileSavePicker, которые я использую в настоящее время.

То, что у меня есть (за исключением возвращаемых каталогов), таково:

public async Task<IStorageFile> OpenFileAsync()
{
    FileOpenPicker openPicker = new FileOpenPicker
    {
        ViewMode = PickerViewMode.List,
        SuggestedStartLocation = PickerLocationId.DocumentsLibrary
    };

    openPicker.FileTypeFilter.Add(".txt");
    openPicker.FileTypeFilter.Add(".csv");

    return await openPicker.PickSingleFileAsync();
}

Это возвращается на главную страницу.

Здесь я хотел бы иметь переменную для хранения выбранного пути к файлу и выбранного имени файла в виде строки. Затем они будут использоваться в проекте, когда речь идет о быстром сохранении / автосохранении и при создании моего класса для загрузки файлов.

Я только после того, имеет ли FilePicker эту функцию, потому что мое понимание документации немного ограничено при попытке интегрировать ее с моим сценарием.

1 Ответ

0 голосов
/ 05 сентября 2018

Ваш метод OpenFileAsync возвращает выбранный IStorageFile, и у этого есть свойство Name, которое возвращает вам имя файла, включая расширение имени файла, и свойство Path, которое возвращает вам полную файловую систему. путь к файлу. Вы можете делать все что угодно с этими значениями:

private async void OpenFile_Click(object sender, RoutedEventArgs e)
{
    OpenFileClass instance = new OpenFileClass();
    IStorageFile file = await instance.OpenFileAsync();
    if (file != null)
    {
        string fileName = file.Name;
        string filePath = file.Path;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...