Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Xamarin.Forms中使用FilePicker筛选SQLite3文件_Sqlite_Xamarin_Filter_Mime Types_Filepicker - Fatal编程技术网

如何在Xamarin.Forms中使用FilePicker筛选SQLite3文件

如何在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

我正在尝试使用Xamarin.Forms中的文件选择器筛选文件。特别是SQLite的
.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类型上找到的信息:


您可以检查MIME类型的源代码。没有db mime类型。你可以参考下面的链接


试试“应用程序/八位字节流”。它对我很有用。

看看
application/pdf
是否返回
pdf
(反之亦然)和
text/x-java
是否返回
java
。如果从
GetMimeTypeFromExtension
等返回。。正确,但是像not
png
这样的常见内容不会返回
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)
进行过滤。请检查链接。