【问题标题】:FilePicker return name and path as stringsFilePicker 以字符串形式返回名称和路径
【发布时间】:2019-02-10 18:58:10
【问题描述】:

我有一个文件保存和文件打开选择器,我现在正在尝试集成将路径和文件名保存为公共变量的能力,该变量将通过不同的方法等在整个项目中使用。

我目前有一个 SaveFileClassOpenFileClass

我已经看到了使用 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 是否具有此功能,因为在尝试将其与我的场景集成时,我对文档的理解有点有限。

【问题讨论】:

    标签: c# uwp


    【解决方案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;
        }
    }
    

    【讨论】:

    • 为了跨多个类使用文件名和文件路径,是否需要将 void 设置为 Public static Async Void?
    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多