FilePicker 以字符串形式返回名称和路径
Posted
技术标签:
【中文标题】FilePicker 以字符串形式返回名称和路径【英文标题】:FilePicker return name and path as strings 【发布时间】:2019-02-10 18:58:10 【问题描述】:我有一个文件保存和文件打开选择器,我现在正在尝试集成将路径和文件名保存为公共变量的能力,该变量将通过不同的方法等在整个项目中使用。
我目前有一个 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】:您的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?以上是关于FilePicker 以字符串形式返回名称和路径的主要内容,如果未能解决你的问题,请参考以下文章