01-文件上传的API之DiskFileItemFactory
Ø DiskFileItemFactory对象有什么作用?
【作用一】:设置上传缓冲区大小,默认10k
对应方法:factory.setSizeThreshold(1024*1024*10); //10M大小的上传缓存区
【作用二】:设置上传过程中产生的临时文件存放目录,当上传的文件超过缓冲区大小时就会产生临时文件。
对应方法:factory.setReposittory(); 设置临时文件存放目录
在构造方法中可以设置缓冲区大小和临时文存放目录:
还可以通过方法设置:
示例代码:
// 1.创建磁盘文件项工厂
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
// 1.1设置缓冲区的大小:
diskFileItemFactory.setSizeThreshold(3 * 1024 * 1024);// 设置缓冲区的大小为3M
// 1.2设置临时文件存放的路径:
// 获得临时文件存放的路径:
String tempPath = getServletContext().getRealPath("/temp");
diskFileItemFactory.setRepository(new File(tempPath));
02-文件上传的API之ServletFileUpload,(ps:核心类对象)
Ø 如何判断用户提交的表单enctype属性值是不是multipart/form-data?
Ø 如何设置上传的文件名不乱码?
Ø 如何控制上传的单个文件、总文件的大小?
是用来判断表单的enctype属性是否正确
解析Request对象,返回一个List集合(每个部分的对象FileItem)。
设置单个文件的大小
设置上传的文件的总大小(如果有多个文件上传项)
设置中文文件名上传的乱码的问题。
设置监听文件上传的进度
代码示例:
03-文件上传的API之FileItem
Ø 如何判断一个表单项是不同表单项还是文件上传项?
Ø 如何获取普通表单项的name名称和value值?
Ø 如何获取文件上传项的文件内容和大小?
ü 判断表单项是普通项还是文件上传项。如果为true代表是普通项
l 普通项的方法:
ü 获得普通项的名称
ü 获得普通项的值
l 文件上传项:
ü 获得文件上传的文件名的方法
ü 获得文件上传的文件内容的方法
ü 获得文件上传的文件的大小
ü 删除文件上传过程中的临时文件