我正在阅读有关intents
的文章,我遇到过MIME
字样
在android-documentation中,我找不到关于什么是mime-type
的明确解释。
来自文档:
type - 指定intent数据的显式类型(MIME类型)。通常,类型是从数据本身推断出来的。通过设置此属性,可以禁用该评估并强制显式类型。
1)究竟是什么?
2)为什么我们需要它们?
3)如何从Uri
推断?
P.S。不要把我链接到文档,我已经读过了。感谢。
答案 0 :(得分:8)
MIME代表多用途Internet邮件扩展。 用于确定互联网通信中的文件类型(基本上是扩展名)。
我们需要它们作为元数据,例如浏览器将从服务器接收的字节转换为适当的文件扩展名。
Here is list例如image/gif
将收到的数据转换为.gif
扩展名
您可以从请求/响应标头中提取mime类型。 Content-type Content-Type: image/gif
。您还可以通过Accept
http请求属性请求某些特定的mime类型,您可以在其中指定所请求的mime type
。如果服务器无法将您的数据转换为请求的mime type
,则会回复406 Not Acceptable错误代码。
答案 1 :(得分:0)
MIME代表多用途Internet邮件扩展,通常用于在通过Internet传输数据时定义数据类型。对于intance,“application / json”或“application / pdf”或“text / plain”。
我不确定你的意思是“从Uri
推断”,但这是我最近在Xamarin.Android代码段中用它来发送PDF文件的方式:
UriBuilder ub = new UriBuilder();
Intent intent = new Intent(Intent.ActionSend);
intent.SetType("application/pdf");
intent.PutExtra(Intent.ExtraEmail, new String[] { EMAIL } );
intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.Parse("file:///" + path));
intent.PutExtra(Intent.ExtraSubject, "Notification: " + System.DateTime.Now);
intent.PutExtra(Intent.ExtraText, "There is a new notification.");
StartActivity(Intent.CreateChooser(intent, "Select mailclient"));
答案 2 :(得分:-1)
来自标签说明..
1)2)多用途Internet邮件扩展(MIME)是一种Internet标准,它扩展了支持的电子邮件格式:ASCII以外的字符集中的文本,非文本附件,包含多个部分的邮件正文以及标题信息非ASCII字符集
3)Dunno
但是这仍然不够明确,然后前往Viki