上传
注意:上传不能使用BaseServlet,因为request.getParameter("xxx")废了
一、上传基础
1.上传对表单的限制
method="post"
enctype="multipart/form-data"
表单中需要添加文件表单项:<input type="file" name="xxx"/>
<form action="xxx" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username"/><br/>
照 片:<input type="file" name="picture"/><br/>
<input type="submit" value="上传"/>
</form>
2.上传对Servlet的限制
request.getParameter("xxx");这个方法在表单为enctype="multipart/form-data"时,它作废了,它永远都返回null
ServletInputStream request.getInputStream():包含整个请求的体
3.多部件表单的体
1.每隔出多个部件,即一个表单项一个部件
2.一个部件中包含自己包含请求头的空行,以及请求体
3.普通表单项:
1个头:Content-Disposition:包含name="xxxx",即表单项名称
体就是表单项的值
4.文件表单项:
2个头:Content-Disposition:包含name="xxxx",即表单项名称,还有一个filename="xxx",表示上传文件的名称
Context-Type:它是上传文件的MIME类型,例如:image/pipeg,表示上传的是图片,图是jpg拓展名的图片
4.commons-fileuploa