如何解决如何在Xamarin.Forms中使用FilePicker筛选SQLite3文件
我正在尝试使用Xamarin.Forms中的FilePicker过滤文件。具体来说,是SQLite的.db3
文件。为了在Android中过滤文件,您应该提供要显示的文件的FilePicker MIME类型。这是我所做的,基于我发现SQLite文件具有的MIME类型:
var fileTypes = new string[] { "application/x-sqlite3","application/vnd.sqlite3" };
var file = await CrossFilePicker.Current.PickFile(fileTypes);
我也尝试过将"application/db3"
,"application/db"
放在fileTypes
数组中,但无济于事。 我唯一可以过滤SQLite文件和其他文件的方法是,当我将"application/*"
放入数组中时,这意味着MIME类型属于应用程序。
这些MIME类型不适用于我。我还尝试过使用Xamarin的Android.Webkit.MimeTypeMap
类来获取MIME类型,如下所示:
var MIME = MimeTypeMap.Singleton;
string sqliteMIME = MIME.GetMimeTypeFromExtension("sqlite");
我尝试将"sqltie3"
,"sqltie"
,"db3"
,"db"
,"db0"
传递给函数调用,并且该函数返回了null
每次。
FilePicker的Github存储库:https://github.com/jfversluis/FilePicker-Plugin-for-Xamarin-and-Windows
有关SQLite的MIME类型的信息:
- Android: what is the mime type to use if I want to see/pick a SQLite database from the Downloads folder?
- http://fileformats.archiveteam.org/wiki/DB_(SQLite)
- https://www.iana.org/assignments/media-types/application/vnd.sqlite3
解决方法
您可以检查MIME类型的源代码。没有db mime类型。您可以参考下面的链接。
,尝试“应用程序/八位字节流”。它对我有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。