public Object jiantin(){
//使用Apache文件上传组件处理文件上传步骤:
// 1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置工厂的缓冲区的大小,当上传的文件大小超过缓冲区的大小时,就会生成一个临时文件存放到指定的临时目录当中。
factory.setSizeThreshold(1024 * 100);// 设置缓冲区的大小为100KB,如果不指定,那么缓冲区的大小默认是10KB
// 2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
ProgressListener progressListener = new ProgressListener() {
// 监听文件上传进度
upload.setProgressListener(new ProgressListener() {
//这里的.setProgressListener报错是什么原因?
Long beginTime = System.currentTimeMillis();
public void update(long bytesRead, long contentLength, int items) {
BigDecimal br = new BigDecimal(bytesRead).divide(
new BigDecimal(1024), 2, BigDecimal.ROUND_HALF_UP);
BigDecimal cl = new BigDecimal(contentLength).divide(
new BigDecimal(1024), 2, BigDecimal.ROUND_HALF_UP);
System.out.print("当前读取的是第" + items + "个上传项,总大小" + cl
+ "KB,已经读取" + br + "KB");
// 剩余字节数
BigDecimal ll = cl.subtract(br);
System.out.print("剩余" + ll + "KB");
// 上传百分比
BigDecimal per = br.multiply(new BigDecimal(100)).divide(
cl, 2, BigDecimal.ROUND_HALF_UP);
System.out.print("已经完成" + per + "%");
}
}
});
}
添加回复
请先登陆