response.setContentType()
的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。例如web浏览器就是通过MIME
类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,你可也去看一下。
做用表单上传文件,想在服务端验证上传文件的类型,只允许上传GIF,JPG,ZIP, 我们有两种方法:
第一:检查文件的扩展名;
第二:检查文件的MIME类型 。
检查文件的扩展名的方法,很简单快捷, 但是 a.jsp 改名为 a.jpg能可以绕过检查上传了。
|
|
检查文件的MIME类型的方法,在IE7与Firefox下有一点区别(见下表), 有不同浏览器上传表现不一致。Firefox下ZIP与EXE文件的MIME类型同为application/octet-stream。
表中例出的是在服务器端(tomcat5.5)接收不同浏览器上传的文件时,取得的MIME类型
|
用IE7上传 |
用Firefox3.0上传 |
GIF |
image/gif
|
image/gif
|
JPG |
image/pjpeg
|
image/jpeg
|
ZIP |
application/x-compressed
|
application/octet-stream
|
JSP |
text/html
|
text/html
|
EXE |
application/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
图像
|
|
text/html HTML
text/plain TXT
text/xml XML
text/json json字符串
分享到:
相关推荐
response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。 例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型...
MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式
JSP 中response.setContentType()的作用及参数 response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。 例如web浏览器...
将数据导出到Excel源代码及方法:response....//响应正文的MIME类型,表示Excel response.addHeader("Content-Disposition", "attachment;filename=logininfo.xls"); String name = request.getParameter("name");
response.setContentType( "application/vnd.ms-excel"); // MIME .jpg .xls .mp3 .avi .txt .exe String filename = "驾驶员数据.xls"; //如果为Struts框架,获得request和response可用ServletActionContext...
错误的原因是设置MIME类型的代码有误。 如果是JSP文件,查看文件头: 代码如下:<%@ page contentType=”text/html;charset=gb2312″%> 如果是Servlet文件,查看: 代码如下:response.setContentType(“text/...
具体的调用是将Web层将response.getOutputStream()传给write(OutputStream os,String fileId)接口,业务层直接将文件数据输出到这个响应流中。具体实现请参见错误!未找到引用源。节下载文件部分。 2、业务层接口...
response.setContentType("application/octet-stream");//设置文件类型 OutputStream toClient=new BufferedOuntputStream( response.getOutputStream() );//获取二进制输出流 //读取文件数据 InputStream fis=...
根据之前获取到的文件MimeType,然后通过 Response 域对象的 setContentType() 方法,设置文件的输出类型
5 void setContentType(String type) 设置响应的MIME类型 6 sendRedirect(java.lang.String location) 重新定向客户端的请求 3.session对象 session对象指的是客户端与服务器的一次会话,从客户端连到服务器的...