转自:http://wanjianfei.iteye.com/blog/444067
1. 文件上传的原理:
表单元素的
enctype
属性指定的是表单数据的编码方式,该属性有
3
个值:
1)
application/x-www-form-urlencoded
:这是默认编码方式,它只处理表单域里的
value
属性值,采用这种编码方式的表单会将表单域的值处理成
URL
编码方式。
2)
multipart/form-data
:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。
3)
text/plain
:这种方式主要适用于直接通过表单发送邮件的方式。
文件上传是
web
应用经常用到的一个知识。原理是,通过为表单元素设置
enctype=”multipart/form-data”
属性,让表单提交的数据以二进制编码的方式提交,在接收此请求的
Servlet
中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的上传。
在
Java
领域中,有两个常用的文件上传项目:一个是
Apache
组织
Jakarta
的
Common-FileUpload
组件
(http://commons.apache.org/fileupload/)
,另一个是
Oreilly
组织的
COS
框架
(http://www.servlets.com/cos/)
。利用这两个框架都能很方便的实现文件的上传。