StorageFolder.GetFilesAsync()不会从USB记忆棒返回mp4文件

时间:2016-07-22 17:12:54

标签: c# video winrt-xaml

我正在编写一个可以上传图像文件和视频文件的应用程序,并允许用户从他们的“图片”文件夹或USB记忆棒上传。目前除了从USB记忆棒上传视频文件外,它可以做任何事情。 “图片”文件夹中的图片很好,USB记忆棒中的图片很好,“图片”文件夹中的视频很好,但USB记忆棒中的视频效果不错。

真的没有太多代码:

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

    // other code here...
}

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

造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

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

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