<url>http://www.java3z.com/cwbwebhome/article/article8/81208.html</url>
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` 是 Java Servlet API 中的一个方法,用于设置 HTTP 响应的内容类型。HTTP 响应回传给客户端时,需要告诉客户端如何解释返回的数据,这就是通过 `Content-Type` 头部字段实现的。`response...
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");
例如,如果我们在一个Servlet中想要返回一个HTML页面,我们首先会设置响应的MIME类型(通常为"text/html"),然后获取输出流并写入HTML代码的字节表示。 ```java response.setContentType("text/html"); ...
### setContentType 参数详解 在Web开发中,`setContentType` 方法是服务器端处理HTTP请求时一个非常重要的功能。它主要用于设置响应(response)对象的Content-Type头部信息,从而告诉浏览器等客户端程序返回的...
1. **`setContentType`**:用于设置`Content-Type`响应报头,指定返回内容的MIME类型。这是Servlet中最常用的响应报头之一,用于告诉客户端如何解析响应数据。 ```java response.setContentType("text/html;...
头信息是HTTP响应的一部分,可以包含关于响应的元数据,如Content-Type指示响应体的MIME类型。我们可以使用`setHeader(String name, String value)`或`addHeader(String name, String value)`方法来设置或添加头信息...
1. **设置MIME类型**:根据文件的类型,设置合适的MIME类型,如`response.setContentType("application/vnd.ms-excel")`,这告诉浏览器文件应该如何被解析和显示。 2. **设置Content-Disposition**:`response.set...
`setContentType`方法是javax.servlet.http.HttpServletResponse接口的一个方法,其基本语法为`response.setContentType("MIME类型; charset=字符集")`。在这个例子中,我们看到在`responsedemo1.jsp`文件的第1行,...
`setContentType()`主要用于设定HTTP响应的MIME类型,包含字符集信息;而`setCharacterEncoding()`则专门用于设置请求或响应的字符编码,它需要在读取请求参数之前调用,否则可能无法改变已解析过的参数的编码。 ...
为了解决这个问题,我们应当在使用getWriter()方法之前,先通过response对象的setContentType()方法设置正确的MIME类型和字符集。 MIME(Multipurpose Internet Mail Extensions)类型是一种标准,它用来告诉浏览器...
5. `setContentType()`:`response.setContentType()`用于设置HTTP响应的MIME类型和字符编码。 6. `setHeader()`: `response.setHeader()`可以用来设置任何HTTP响应头,包括自定义的Content-Type。 7. JSP页面编码...
response.setContentType(mimeType.getValue()); ``` `java-enum-mimetype-master`项目很可能是包含了这个枚举类实现的源代码,可能还包含了一些测试用例和其他辅助工具。通过这种方式组织代码,可以提高代码的...
`response.setContentType()`定义响应内容的MIME类型,`response.getWriter().println()`用于向客户端输出数据。 3. **session对象**:表示一次客户端与服务器之间的会话。它用于存储用户会话期间的状态信息。例如...
- `setContentType(String type)`:设置响应内容的MIME类型。 2. **完成重定向**: - `sendRedirect(String location)`:用于将客户端重定向到新的URL。 3. **服务器输出数据**: - `getOutputStream()`:获取`...