文件上传是我们经常遇到的一个问题,form表单有个enctype(编码方式)属性,
有关表单资料,若需要可参考:http://www.htmlhelp.com/reference/html40/forms/form.html.,
此属性一般取默认值,
即enctype=”application/x-www-form-urlencoded”,则表单只处理表单域中的value值。
如要上传文件,则设置enctype=”multipart/form-data”,表单将会以二进制流的方式来处
理表单数据,并把文件域所指定文件的内容也封装到请求参数里。
在表单元素中 enctype 属性指定了传递给服务器的表单数据集编码的内容类型,它的默认值是“application/x-www-form-urlencoded”,
用于通常的数据提交格式,enctype 属性有三个值: application/x-www-form-urlencoded, multipart/form-data, text/plain,
它们都属于MIME类型,关于该类型可参考http://www.ietf.org/rfc/rfc2045.txt .
关于multipart/form-data:http://www.ietf.org/rfc/rfc2388.txt
参考文章1:http://blog.csdn.net/keepeye/article/details/376972
参考文章2:http://blog.csdn.net/ad198622/article/details/6466174
总结1:当enctyp=”application/x-www-form-urlencoded”时,无法得到文件的内容,从而无法实现上传。
总结2:不能直接使用request.getParameter得到上传的数据
总结3:文件上传是通过二进制流的方式,我们可以得到文件中的内容,因此,要实现上传
我们只需要去解析这个文件的格式内容,然后写到硬盘上即可实现上传