我有一个“文件保存”和“文件打开选择器”,我现在试图集成将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是否具有此功能,因为在尝试将其与我的方案集成时,我对文档的了解有限。
答案 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;
}
}