StorageFolder.GetFilesAsync() 不会 return 来自 U 盘的 mp4 文件

StorageFolder.GetFilesAsync() does not return mp4 files from a USB stick

我正在编写一个可以上传图像文件和视频文件的应用程序,并允许用户从他们的 'Pictures' 文件夹或 U 盘上传。目前,除了从 U 盘上传视频文件外,它可以做任何事情。 'Pictures' 文件夹中的图像可以,U 盘中的图像可以,'Pictures' 文件夹中的视频可以,但 U 盘中的视频不可以。

这方面的代码确实不多:

private async Task SearchFoldersForMedia(StorageFolder folderToSearch)
{
    IReadOnlyList<StorageFile> allFilesInFolder = await folderToSearch.GetFilesAsync();

    // other code here...
}

老实说,它非常简单。如果我的 'Pictures' 文件夹有 3 个视频 (.mp4),那么这一行将找到三个视频文件,但如果我的数据棒有 3 个视频,那么同一行将找不到任何内容。如果我在我的数据棒或我的 'Pictures' 文件夹中查找图像文件(.jpg、.jpeg 或 .png),那么它们都会按原样找到。

这是什么原因造成的?

问题出在我的 Package.appxmanifest 中,而不是我编写的代码中。按照此处使用的建议找到解决方案: Correct mime type for .mp4

顺便说一句,这意味着我从未真正从我的 'Pictures' 文件夹上传视频,即使它们似乎已上传。我怀疑外部驱动器甚至没有显示它们是由于在处理外部设备时提高了保护级别。