一、Commons-FileUpload组件:
1.Commons是Apache开放的源代码组织的一个java子项目其中的FileUpload是用来处理HTTP文件上传的子项目
2.使用简单:Commons-FileUpload组件可以方便的嵌入到JSP文件中,在JSP文件中仅编写少量的代码就可以完成文件的上传功效,非常的方便】
3.能够全程控制上传内容:可以获取全部上传文件的信息包括名称,类型,大小等,方便操作
4.能够对上传文件的大小,类型进行控制:为了避免在上传过程中出现异常的数据,在Commons-FileUpload组件中,专门提供了相对应的方法用于对上传文件进行控制
5.上传文件的时候,form标签的method属性必须设置成post,不能设置为get
6.必须具备的炸包:commons-fileupload-1.2.2.jar和commons-io-2.4jar文件
在表单中的中设置enctype=“multipart/form-data”;
7.FileItemFactory接口
实现类:DiskFileItemFactory
常用的方法public void setSizeThreshold;设置内存换冲区的大小
public void setRepositoryPath(String path);设置临时文件存放目录
8.FileItem接口的常用的方法
方法名称
public boolean isFormFiled();判断FileItem对象封装的数据类型(普通的表单字段返回true,文件表单字段返回false)
public String getName();获取文件上传字段中 的文件名(普通的表单字段返回null)
public String getFieldName();返回表单字段元素的name属性值
public void write();将FileItem对象中保存的主体内容保存到指定的文件中
public String getString();将FileItem对象中保存的主体内容以一个字符串返回。其中的重载方法public String getString(String encoding)中的参数用指定的字符集编码方式
public long getSize();返回单个上传文件的字节数;
9.ServletFileUpload常用的方法
public void setSizeMax(long sizeMax);设置请求信息实体内容的最大允许字节数
public List parseRequest(HttpServiiceRequest req);解析form表单中每个字符的数据,返回一个FileItem对象的集和
public static final boolean isMultipartContent(HttpServletRequest req);判断请求中的内容是否是multipart/form-data类型
public void setHeadederEncoding(String encoding);设置转换时所使用的字符编码
二、文件上传中的前段和后端
<form action= "表单提交的地址" enctype="multipart/form/data" method="post">
用户名:<input type="text " name ="username"/>
头像:<input type = "file" name="upload"/>
<input type="submit" value="提交">
<form/>
<