什么是MIME类型数据?

时间:2015-04-23 12:20:11

标签: java android mime

我正在阅读有关intents的文章,我遇到过MIME字样 在android-documentation中,我找不到关于什么是mime-type的明确解释。
来自文档

type - 指定intent数据的显式类型(MIME类型)。通常,类型是从数据本身推断出来的。通过设置此属性,可以禁用该评估并强制显式类型。

1)究竟是什么? 2)为什么我们需要它们? 3)如何从Uri推断?

P.S。不要把我链接到文档,我已经读过了。感谢。

3 个答案:

答案 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