选择带有特定文件扩展名xamarin.android

时间:2020-08-18 07:45:19

标签: c# android xamarin filepicker

@vividos @jfversluis

预期行为

我想使用特定的文件扩展名过滤器打开文件。

实际行为

假设我有一个名为“ abc.ext” 的文件,因此我想过滤具有该扩展名的所有文件,即 ext
目前,我看到android仅支持 MIME类型,而不支持扩展名。是吗?
这行不通。我正在使用FilePicker-Plugin-for-Xamarin-and-Windows

var fileTypes = new string[] { "ext/*" }; 
FileData fileData = await CrossFilePicker.Current.PickFile(fileTypes);

开发人员所说的话:

不幸的是,Android仅允许您指定MIME类型来过滤可选文件(其他文件显示为灰色且不可选择)。如果您知道MIME类型,那很好,但是在其他情况下,如果可以接受,则应检查FileName属性及其文件扩展名。

我希望其他过滤器为“。ext” 以外的文件都被删除。
那么,Android是否只接受MIME类型,该问题是否可以解决?
还是其他方法?我的文件基本上是二进制和加密文件,因此它可能没有很好的唯一MIME类型。
任何其他方法都将不胜感激。

1 个答案:

答案 0 :(得分:1)

正如我所说的

string [] allowedTypes = {“ application / pdf”};

FileData fileData =等待CrossFilePicker.Current.PickFile(allowedTypes);

对我来说一切正常,正如您所说的,所有内容都变灰了,这就是因为您的扩展名文件不存在于设备文件夹中。

enter image description here

您可以参考上面的图片,除了您在allowedTypes中提到的格式扩展名(即pdf

)之外,所有内容都会灰显

如果您需要更多帮助,可以询问。