MIME类型-服务端验证上传文件的类型的讨论
来源:互联网 发布:盐城大数据产业园地址 编辑:程序博客网 时间:2024/05/17 04:39
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上传GIF
image/gif
image/gif
JPGimage/pjpeg
image/jpeg
ZIPapplication/x-compressedapplication/octet-streamJSPtext/html
text/html
EXEapplication/octet-streamapplication/octet-stream
常见MIME类型例表:
序号
内容类型
文件扩展名
描述
1
application/msword
doc
Microsoft Word
2
application/octet-stream bin
dms lha lzh exe class
可执行程序
3
application/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图像
- MIME类型-服务端验证上传文件的类型的讨论
- MIME类型-服务端验证上传文件的类型的讨论
- MIME类型-服务端验证上传文件的类型的讨论
- MIME类型-服务端验证上传文件的类型的讨论
- MIME类型-服务端验证上传文件的类型
- MIME类型-服务端验证上传文件的类型
- 验证上传文件的类型
- SMW0 HTML模版的形式上传文件 维护MIME类型
- IE和firefox上传文件mime类型的设置
- SMW0 HTML模版的形式上传文件 维护MIME类型
- SMW0 HTML模版的形式上传文件 维护MIME类型
- 一些文件的MIME类型
- 常见文件的mime类型
- 常用的 文件 MIME类型
- 创建上传JPG图片格式的MIME类型
- Javascript 验证上传文件的类型
- js 如何验证上传文件的类型?
- Jsp页面验证上传文件的类型
- 1 struts2标签的定义文件 struts-tags.tld
- 从以下四个原因分析你的网站为什么粘不住流量
- 获取控件在网页中的绝对位置
- jQuery1.2.6 好用的AJAX库,库+手册
- 从以下四个原因分析你的网站为什么粘不住流量
- MIME类型-服务端验证上传文件的类型的讨论
- Android中的资源文件
- JSTL标签 参考手册
- 从以下四个原因分析你的网站为什么粘不住流量
- Spring资源抽象接口--Resource
- Coursera_An Introduction to Interactive Programming in Python_Mini-project # 1 Rock-paper-scissors
- Servlet操作Cookie说明
- 【Java】【FAQ】【环境变量设置问题】错误:找不到或无法加载主类 "xxxxxx"
- 从以下四个原因分析你的网站为什么粘不住流量