表单接口中fileupload依赖包里FileItem类的常用方法
常用示例:
private void fileupload(HttpServletRequest request) throws Exception
{
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//设置单个上传文件的大小
upload.setFileSizeMax(10 * 1024 * 1024);
//设置总文件大小
upload.setSizeMax(100 * 1024 * 1024);
//表单中的内容
List<FileItem> items = upload.parseRequest(request);
//字段名称
for (FileItem item : items)
{
//为true,传的是普通字段内容
if (item.isFormField())
{
//读取字段
String fieldContent = new String(item.get(), "UTF-8");
}
//传的文件内容
else
{
//查看类型
System.out.println(item.getContentType());
//保存文件
item.write(new File("aaa/bbb/ccc/"+item.getName()));
}
}
}
- isFormField()
返回值:boolean
介绍:isFormField方法用来判断FileItem对象里面封装的数据是一个普通文本表单字段,还是一个文件表单字段。如果是普通文本表单字段,返回一个true否则返回一个false。因此可以用该方法判断是否是普通表单域还是文件上传表单域。
2.getName()
返回值:String
介绍:getName方法用来获得文件上传字段中的文件名。
3.getFieldName()
返回值:String
介绍:getFieldName方法用来返回表单标签的name属性的值。
4.write(File file)
返回值:void
介绍:write方法将FileItem对象中的内容保存到某个指定的文件中。如果FileItem对象中的内容是保存在某个临时文件中,该方法完成后,临时文件可以会被删除。该方法也可以将普通表单字段保存在一个文件中,但最主要的用途是把上传的文件内容保存在本地文件系统中。
5.getString()
返回值:String
介绍:getString()方法将FileItem对象中保存的数据流内容以一个字符串返回。它有两个重载形式。public java.lang.String getString()和public java.lang.String getString(java.lang.String encodeing) throws java.io.UnsupportedEncodingException。前者使用缺省的字符集编码将主体内容转换成字符串,后者使用参数指定的字符集编码。如果在读取普通表单字段元素的内容时,出现了乱码现象,可以调用第二个方法,并传入 正确的字符集编码名称。
6.getContentType()
返回值:String
介绍:此方法用来获得上传文件的类型,即标段字段元素描述头属性“content-type”的值,如image/jpeg。如果FileItem对象对应的是普通的表单字段,将返回null。
7.isInMemory()
返回值:boolean
介绍:判断FileItem对象封装的数据是保存在内存中还是硬盘中。
8.delete()
返回值:void
介绍:此方法用来清空FileItem对象中封装的主体内容,如果内容是被保存在临时文件中,该方法会把临时文件删除。
9.getInputStream()
返回值:InputStream
介绍:以流的形式返回上传文件的主体内容。
10.getSize()
返回值:long
介绍:返回上传文件的大小。