文件上传原理_整理+总结

  文件上传是我们经常遇到的一个问题,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

总结1enctyp=”application/x-www-form-urlencoded”时,无法得到文件的内容,从而无法实现上传。

总结2不能直接使用request.getParameter得到上传的数据

总结3文件上传是通过二进制流的方式,我们可以得到文件中的内容,因此,要实现上传

我们只需要去解析这个文件的格式内容,然后写到硬盘上即可实现上传



posted @ 2012-11-09 12:10  Hongten  阅读(630)  评论(0编辑  收藏  举报
Fork me on GitHub