文件上传常用的对象和API



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)。

设置单个文件的大小

设置上传的文件的总大小(如果有多个文件上传项)

设置中文文件名上传的乱码的问题。

设置监听文件上传的进度

代码示例:

文件上传常用的对象和API_第1张图片


03-文件上传的API之FileItem

Ø  如何判断一个表单项是不同表单项还是文件上传项?

Ø  如何获取普通表单项的name名称和value值?

Ø  如何获取文件上传项的文件内容和大小?

ü  判断表单项是普通项还是文件上传项。如果为true代表是普通项

l  普通项的方法:

ü  获得普通项的名称

ü  获得普通项的值

l  文件上传项:

ü  获得文件上传的文件名的方法

ü  获得文件上传的文件内容的方法

ü  获得文件上传的文件的大小

ü  删除文件上传过程中的临时文件



你可能感兴趣的:(文件上传常用的对象和API)