• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

什么是媒体类型(MIME)


Recommended Posts

MIME 定义

MIME IETF RFC 6838(多用途互联网邮件扩展)是用于表达文档、文件或字节流的性质和格式的标准。

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

打开任何网站。通过控制台,可以看到网页在渲染之前向web服务器请求了大量的资源。这些资源包括图片、音频、视频、CSS和JavaScript。为了区分资源类型,MIME被添加到HTTP头字段Content-Type中,以便浏览器能够以正确的方式处理它们。

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

image

如上图,HTTP请求eva.png的响应头字段‘content-type : image/png’表示图片资源是中的图片。png格式。

MIME 结构

MIME的组成结构非常简单,由两个字符串type和subtype组成,用“/”隔开。“类型”表示可以分成多个子类的独立类别;“子类型”是指细分后的每个类型。

类型/子类型

独立媒体类型

有五种独立的媒体类型:文本、图像、音频、视频和应用程序。

独立媒体类型

主要类型

RFC定义

图表类型

文本

指示它是某种文本文件。

RFC 6838 - 4.2.1

文本/纯文本、文本/html、文本/css

图像

表示某种图像文件。

RFC 6838 - 4.2.2

图片/gif,图片/png

声音的

表示它是某种音频文件

RFC 6838 - 4.2.3

音频/midi、音频/mpeg

录像

表示某种视频文件。

RFC 6838 - 4

视频/网络视频,视频/网络视频

应用

RFC 6838 - 4.2.5

复合媒体类型

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

多部分的子类型通常是“形式数据”,即“多部分/形式数据”。它通常在上传文件时用作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将表单数据发送到Web服务器:

axios . post(' http://localhost :8080/upload ',formData,{

headers: {

内容类型' : '多部分/形式数据'

}

});

API接口:

@RequestMapping(value='/upload ',consumes='multipart/form-data ')

public void upload(@ request param(' name ')字符串名称,@RequestParam('sex ')字符串性别,@ request param(' files ')multipart file[]文件){

system . out . println(' { sex : ' name ',sex : ' sex ' } ');

for(多文件文件:个文件){

system . out . println(file . getoriginalfilename());

}

}

Type multipart允许多种媒体类型,包括文本类型和文件,并且可以成功接收这些数据。

image

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now