【1】视图层
1)表单method 必须为post
2)设置form标签的enctype属性为multipart/form-data
如果没有设置enctype浏览器是无法将文件自身传递到服务端
<form method="post" enctype="multipart/form-data" action="#">
<table><tr><td>文件</td><td><input type="file" name="file"/></td></tr>
<tr><td>上传人姓名</td><td><input type="text" name="perosnName"/></td></tr>
<tr><td><button type="submit">上传</button></td></tr>
</table>
</form>
注意如果设置enctype属性为multipart/form-data,那么请求的参数数据格式就不是键值对的格式在后台不能通过request.getParameter(name); 获取数据
【2】控制器层
- 提供file组件-导入commons-fileupload-1.3.2.jar与commons-io-2.5.jar
DiskFileItemFactory:将每一个请求消息实体项目创建成DiskFileItem 实例
// 设置缓冲区大小,默认10KB 超出将使用临时文件上传
void setSizeThreshold(int sizeThre