文件上传分析

文件上传功能使用的很普遍,比如项目中附件的上传、微博或者招聘网站头像的上传...

文件上传的表单要求:

1.enctype="multipart/form-data";

2.表单中需要有file类型的input;

3.表单的请求方式一定是POST;

Servlet要求:

1.不能使用request.getParameter,使用request.getInputStream。

案例如下

  form表单:

1 <form action="register" method="post" enctype="multipart/form-data">
2           用户:<input type="text" name="username" /><br/>
3           密码:<input type="password" name="password" /><br/>
4           照片:<input type="file" name="pic" /><br/>
5           <input type="submit" value="提 交" />
6 </form>

  servlet:

 1         //如果是复杂类型的表单,getParameter全部失效,取而代之的是getInputStream
 2         String username = request.getParameter("username");
 3         String password = request.getParameter("password");
 4         System.out.println(username);
 5         System.out.println(password);
 6         //获得复杂类型的表单
 7         InputStream in = request.getInputStream();
 8         //或的输入流的内容
 9         String result = IOUtils.toString(in);
10         System.out.println(result);

  

posted @ 2017-10-10 11:01  流年如水烟雨随风  阅读(284)  评论(0编辑  收藏  举报