NutzCN Logo
问答 .setProgressListener报错
发布于 2686天前 作者 qq_8619fb39 1677 次浏览 复制 上一个帖子 下一个帖子
标签:
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 + "%");
                }
			
			}
		});
 }	
1 回复
添加回复
请先登陆
回到顶部