MIME的作用:让客户端软件区分不同类型的数据。 例如,web浏览器使用MIME类型确定文件是GIF图像还是可打印的PostScript文件。
web服务器说明使用MIME发送的数据类型,web客户端说明要使用MIME接收的数据类型。
在Tomcat安装目录confweb.xml中定义了大量的MIME类型,请也看看。
我最近在做用表格上传文件的事情。 我想验证服务端上传文件的类型,只能上传GIF、JPG、ZIP。 我们有两种方法。 第一个是检查文件扩展名,第二个是检查文件的MIME类型。
虽然检查文件扩展名的方法简单快捷,但a.jsp可以通过重命名为a.jpg来绕过检查并上载。
检查文件MIME类型的方法在IE7和Firefox下略有不同(见下表),不同浏览器的上传表现不一致。 在Firefox中,ZIP是与EXE文件的MIME类型相同的应用程序/octet-stream。
所以我决定把两种方法结合起来使用。 检查扩展名,然后检查MIME,不允许上传失败的文件。
表列出了在服务器端(tomcat5.5 )接收从不同浏览器上载的文件时检索的MIME类型
在IE7上上传
在Firefox3.0上上传
GIF
image/gif
image/gif
JPG
image/pjpeg
image/jpeg
ZIP
应用程序/x-compressed
高速APP/octet-stream
JSP
文本/html
文本/html
EXE
高速APP/octet-stream
高速APP/octet-stream
常见MIME类型例句:
序列号
内容类型
文件扩展名
说明
1
应用程序/ms word
德国足球甲级联赛
微软word
2
application/octet-stream bin
dms lha lzh exe class
可执行程序
3
电子APP/pdf
Adobe Acrobat
4
电子APP /后期脚本
ai eps ps
PostScript
5
应用程序/PowerPoint
ppt
微软PowerPoint
6
应用程序/rtf
射频识别
rtf格式
7
应用/x-compress
z
unix压缩文件
8
x-gzip APP
GHz
gzip
9
x-gtar APP
gtar
tar文档(gnu格式)
10
应用程序/x-shock wave-flash
swf
宏媒体闪存
11
x-tar APP
tar
是tar(4.3BSD )
12
zip APP
zip
维基百科
13
音频/基本
au snd
sun/next声音文件
14
audio/mpeg
mpeg mp2
Mpeg声音文件
15
audio/x-aiff
mid midi rmf
Midi格式
16
音频/x-pn-real音频
ram ra
真实音频
17
音频/x-pn-real音频插件
rpm
实时音频插件
18
audio/x-wav
美国有线电视网
微软windows声音
19
image/cgm
cgm
计算机图形元文件
20
image/gif
gif
计算gif图像
21
image/jpeg
jpeg jpg jpe
JPEG图像
22
image/png
png
PNG图像