StorageFolder.GetFilesAsync()不会从U盘返回mp4文件

本文关键字:返回 mp4 文件 GetFilesAsync StorageFolder | 更新日期: 2023-09-27 17:58:27

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

这真的没有太多代码:

private async Task SearchFoldersForMedia(StorageFolder folderToSearch)
{
    IReadOnlyList<StorageFile> allFilesInFolder = await folderToSearch.GetFilesAsync();
    // other code here...
}

老实说,这是赤裸裸的。如果我的"图片"文件夹有3个视频(.mp4),那么这一行将找到三个视频文件,但如果我的数据勾有3个,那么同一行将一无所获。如果我在我的数据框或"图片"文件夹中查找图像文件(.jpg、.jpeg或.png),那么它们都会被找到。

是什么原因造成的?

StorageFolder.GetFilesAsync()不会从U盘返回mp4文件

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

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