您的位置:首页 > 其它

MIME类型-服务端验证上传文件的类型

2011-01-10 17:18 190 查看
MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。

web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类。

Tomcat的安装目录/conf/web.xml 中就定义了大量MIME类型 ,你可也去看一下。

最近在做用表单上传文件,想在服务端验证上传文件的类型,只允许上传GIF,JPG,ZIP, 我们有两种方法,

第一:检查文件的扩展名, 第二:检查文件的MIME类型 。

检查文件的扩展名的方法,很简单快捷, 但是 a.jsp 改名为 a.jpg能可以绕过检查上传了。

检查文件的MIME类型的方法,在IE7与Firefox下有一点区别(见下表), 有不同浏览器上传表现不一致。Firefox下ZIP与EXE文件的MIME类型同为application/octet-stream。

所以我决定 两种方法结合使用,先检查扩展名, 再检查MIME,不合格的文件不让上传。

表中例出的是在服务器端(tomcat5.5)接收不同浏览器上传的文件时,取得的MIME类型

用IE7上传用Firefox3.0上传
GIFimage/gif
image/gif
JPGimage/pjpeg
image/jpeg
ZIPapplication/x-compressed application/octet-stream
JSPtext/html
text/html
EXEapplication/octet-stream application/octet-stream
 用IE7上传用Firefox3.0上传
GIFimage/gif image/gif
JPGimage/pjpeg image/jpeg
ZIPapplication/x-compressedapplication/octet-stream
JSPtext/html text/html
EXEapplication/octet-stream application/octet-stream
常见MIME类型例表:

序号
内容类型
文件扩展名
描述
1
application/msword
doc
Microsoft Word
2
application/octet-stream bin
dms lha lzh exe class
可执行程序
3
application/pdf
pdf
Adobe Acrobat
4
application/postscript
ai eps ps
PostScript
5
appication/powerpoint
ppt
Microsoft Powerpoint
6
appication/rtf
rtf
rtf 格式
7
appication/x-compress
z
unix 压缩文件
8
application/x-gzip
gz
gzip
9
application/x-gtar
gtar
tar 文档 (gnu 格式 )
10
application/x-shockwave-flash
swf
MacroMedia Flash
11
application/x-tar
tar
tar(4.3BSD)
12
application/zip
zip
winzip
13
audio/basic
au snd
sun/next 声音文件
14
audio/mpeg
mpeg mp2
Mpeg 声音文件
15
audio/x-aiff
mid midi rmf
Midi 格式
16
audio/x-pn-realaudio
ram ra
Real Audio 声音
17
audio/x-pn-realaudio-plugin
rpm
Real Audio 插件
18
audio/x-wav
wav
Microsoft Windows 声音
19
image/cgm
cgm
计算机图形元文件
20
image/gif
gif
COMPUSERVE GIF 图像
21
image/jpeg
jpeg jpg jpe
JPEG 图像
22
image/png
png
PNG 图像
用IE7上传用Firefox3.0上传
GIFimage/gif
image/gif
JPGimage/pjpeg
image/jpeg
ZIPapplication/x-compressed application/octet-stream
JSPtext/html
text/html
EXEapplication/octet-stream application/octet-stream
序号内容类型文件扩展名描述
1application/msword doc Microsoft Word
2application/octet-stream bin dms lha lzh exe class 可执行程序
3application/pdf pdf Adobe Acrobat
4application/postscript ai eps ps PostScript
5appication/powerpoint ppt Microsoft Powerpoint
6appication/rtf rtf rtf 格式
7appication/x-compress z unix 压缩文件
8application/x-gzip gz gzip
9application/x-gtar gtar tar 文档 (gnu 格式 )
10application/x-shockwave-flash swf MacroMedia Flash
11application/x-tar tar tar(4.3BSD)
12application/zip zip winzip
13audio/basic au snd sun/next 声音文件
14audio/mpeg mpeg mp2 Mpeg 声音文件
15audio/x-aiff mid midi rmf Midi 格式
16audio/x-pn-realaudio ram ra Real Audio 声音
17audio/x-pn-realaudio-plugin rpm Real Audio 插件
18audio/x-wav wav Microsoft Windows 声音
19image/cgm cgm 计算机图形元文件
20image/gif gif COMPUSERVE GIF 图像
21image/jpeg jpeg jpg jpe JPEG 图像
22image/png png PNG 图像
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐