ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

媒体类型(MIME)是什么

2022-04-30 21:02:20  阅读:196  来源: 互联网

标签:媒体 6838 sex RFC MIME 类型


MIME 定义

MIMEIETF RFC 6838 (Multipurpose Internet Mail Extensions)是一种标准,用来表示文档、文件或字节流的性质和格式。

《HTTP 头字段 Content-Type 是什么》

随便打开一个网站,通过控制台可以看到网页在完成渲染之前向 Web 服务器请求大量的资源,这些资源有图片、音频、视频、CSS、JavaScript。为了区别资源类型,给 HTTP 头字段 Content-Type 添加 MIME,以便于浏览器以正确的方式处理它们。

给 HTTP 头字段 Content-Type 添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。

image

如上图,请求 eva.png 的 HTTP 的响应头字段 "content-type: image/png",代表图片资源是一个 .png 格式的图片。

MIME 结构

MIME 的组成结构非常简单,由类型与子类型两个字符串中间用 "/" 分隔而组成。"type" 表示可以被分多个子类的独立类别;"subtype" 表示细分后的每个类型。

type/subtype

独立媒体类型

有 TEXT(文本)、IMAGE(图像)、AUDIO(音频)、VIDEO(视频)、APPLICATION(应用程序)这五种独立媒体类型。

独立媒体类型 主类型 RFC 定义 子类型
TEXT 表明是某种文本文件 RFC 6838 - 4.2.1 text/plain, text/html, text/css
IMAGE 表明是某种图像文件 RFC 6838 - 4.2.2 image/gif, image/png
AUDIO 表明是某种音频文件 RFC 6838 - 4.2.3 audio/midi, audio/mpeg
VIDEO 表明是某种视频文件 RFC 6838 - 4.2.4 video/webm, video/ogg
APPLICATION RFC 6838 - 4.2.5

复合媒体类型

上面五个独立媒体类型要求内容只能其中一种独立媒体类型,不可以包含多独立媒体类型;而 MULTIPARTRFC 6838 - 4.2.6可以让内容包含多种独立媒体类型,所以它是符合媒体类型。

MULTIPART 的子类型通常是 "form-data",即 "multipart/form-data"。它通常用来上传文件时所使用的一种 MIME 类型。

《FormData 是什么?附多文件上传案例》

怎么才体现出它是符合媒体类型?

let formData = new FormData();
// 可多选文件
for (let index in this.files) {
	formData.append(`files`, this.files[index]);
}
// 添加两个非文件的数据
formData.append('name', this.user.name);
formData.append('sex', this.user.sex);

用 axios 发送 formData 给 Web 服务器:

axios.post('http://localhost:8080/upload', formData, {
	headers: {
		'content-type': 'multipart/form-data'
	}
});

API 接口:

@RequestMapping(value = "/upload", consumes = "multipart/form-data")
public void upload(@RequestParam("name") String name, @RequestParam("sex") String sex, @RequestParam("files") MultipartFile[] files) {
	System.out.println("{ sex: " + name + ", sex: " + sex + " }");
	for (MultipartFile file : files) {
		System.out.println(file.getOriginalFilename());
	}
}

复合类型 multipart 允许存在多种媒体类型,有文本类型以及文件,并且能够成功地接收这些数据。

image

标签:媒体,6838,sex,RFC,MIME,类型
来源: https://www.cnblogs.com/shiramashiro/p/16210681.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有