如何使StorageFile.DisplayName getter在UWP中系统地排除文件类型

如何使StorageFile.DisplayName getter在UWP中系统地排除文件类型,uwp,storagefile,Uwp,Storagefile,这个问题已经被提出,但没有得到回答,然而了解UWP中的存储API是如何工作的是很重要的 我正在以不同的格式(gif和json)保存文件,因此我需要跟踪常见的StorageFile.DisplayNamegetter,但此属性的行为是不明确的,因为有时DisplayNme中包含FileType(.gif或.json),有时则不包含 这种行为的原因就是这个问题的目的,可能我正在寻找一个关于如何完全控制DisplayName的明确答案,我需要将FileType保持在前者之外,而无需诉诸字符串操作 我

这个问题已经被提出,但没有得到回答,然而了解UWP中的存储API是如何工作的是很重要的

我正在以不同的格式(gif和json)保存文件,因此我需要跟踪常见的
StorageFile.DisplayName
getter,但此属性的行为是不明确的,因为有时DisplayNme中包含
FileType
(.gif或.json),有时则不包含

这种行为的原因就是这个问题的目的,可能我正在寻找一个关于如何完全控制
DisplayName
的明确答案,我需要将
FileType
保持在前者之外,而无需诉诸字符串操作

我唯一的进步就是能够复制这个“bug”;实际上,当创建的文件在AppData的LocalSettings中时,
文件类型似乎总是包括在内,而如果文件存储在
图片库中,则不包括在内。我的代码非常琐碎,它使用

var fileName = "Test.gif";
var settingsFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("SettingsFolder", folderCreationCollisionOption);
var file = await settingsFolder.CreateFileAsync(fileName, fileCreationCollisionOption);


前者返回file.DisplayName“Test.gif”,后者根据需要返回“Test”。但是,我需要在AppData中工作。

StorageFile.DisplayName为文件返回一个用户友好的名称。 在UWP应用程序中,始终按以下方式使用:

要获取文件扩展名,请执行以下操作:

StorageFile.FileType
要获取文件名及其扩展名,请执行以下操作:

StorageFile.Name

这并不能回答问题。如上所述,您可以使用DisplayName获取“Test.gif”。请尝试将DisplayName(或完整的StorageFile.Path)传递到
Path.GetFileNameWithoutExtension(…)
StorageFile.Name