如何在Xamarin.Forms中使用FilePicker筛选SQLite3文件
我正在尝试使用Xamarin.Forms中的文件选择器筛选文件。特别是SQLite的如何在Xamarin.Forms中使用FilePicker筛选SQLite3文件,sqlite,xamarin,filter,mime-types,filepicker,Sqlite,Xamarin,Filter,Mime Types,Filepicker,我正在尝试使用Xamarin.Forms中的文件选择器筛选文件。特别是SQLite的.db3文件。为了在Android中过滤文件,您应该提供要显示的文件的FilePicker MIME类型。这就是我所做的,基于我发现的SQLite文件的MIME类型: var fileTypes=newstring[]{“application/x-sqlite3”,“application/vnd.sqlite3”}; var file=await CrossFilePicker.Current.PickFil
.db3
文件。为了在Android中过滤文件,您应该提供要显示的文件的FilePicker MIME类型。这就是我所做的,基于我发现的SQLite文件的MIME类型:
var fileTypes=newstring[]{“application/x-sqlite3”,“application/vnd.sqlite3”};
var file=await CrossFilePicker.Current.PickFile(文件类型);
我还尝试将“application/db3”
,“application/db”
放入文件类型
数组中,但没有效果我唯一可以过滤SQLite文件和其他文件的时间是在数组中放入“application/*”
时,这意味着MIME类型是应用程序的类型。
这些MIME类型不适合我。我还尝试使用Xamarin的Android.Webkit.MimeTypeMap
类获取MIME类型,如下所示:
var MIME=MimeTypeMap.Singleton;
字符串sqliteMIME=MIME.GetMimeTypeFromExtension(“sqlite”);
我已尝试将“sqltie3”
,“sqltie”
,“db3”
,“db”
,“db0”
传递给函数调用,函数每次都返回null
FilePicker的Github回购协议: 我在SQLite的MIME类型上找到的信息:
试试“应用程序/八位字节流”。它对我很有用。看看
application/pdf
是否返回pdf
(反之亦然)和text/x-java
是否返回java
。如果从GetMimeTypeFromExtension
等返回。。正确,但是像notpng
这样的常见内容不会返回image/png
(png
不包括在基本ASOP mime提供程序中),那么听起来设备好像在使用库存ASOP,而不是通过SetDefaultSupplier
提供mime类型的供应商,如果是这样,我想知道你在用什么设备我试过使用模拟像素3a[Android 9.0-API28]、物理像素3a[Android 11.0-API30]和物理小米米A1[Android 9.0-API28]。除了小米之外,所有东西都可以完美地使用pdf
、java
、png
和csv
文件类型。小米无法在java
文件中进行过滤。@E.Epstein我已经检查了MIME类型的源代码。没有db mime类型。你可以参考下面的链接@WendyZang MSFT,我明白了。那个么在SQLite文件中就并没有过滤的方法了吗?您可以使用文件名
进行过滤。尝试使用result.FileName.EndsWith(“db”,StringComparison.ordinallingorecase)
进行过滤。请检查链接。