FilePicker以字符串形式返回名称和路径

时间:2018-09-05 15:06:36

标签: c# uwp

我有一个“文件保存”和“文件打开选择器”,我现在试图集成将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 :(得分:1)

您的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;
    }
}