Java上传文件进度条的实现方法(附demo源码下载)
更新时间:2015年12月21日 14:10:48 作者:李超@hicc
这篇文章主要介绍了Java上传文件进度条的实现方法,可简单实现显示文件上传比特数及进度的功能,并附带demo源码供读者下载参考,需要的朋友可以参考下
本文实例讲述了Java上传文件进度条的实现方法。分享给大家供大家参考,具体如下:
东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还说什么呢?
这里给出代码:
package lc.progress;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import lc.progress.vo.fileUploadStatus;
import org.apache.commons.fileupload.ProgressListener;
public class myProgressListener implements ProgressListener {
private HttpSession session;
public myProgressListener(HttpServletRequest req) {
session=req.getSession();
fileUploadStatus status = new fileUploadStatus();
session.setAttribute("status", status);
}
/* pBytesRead 到目前为止读取文件的比特数
* pContentLength 文件总大小
* pItems 目前正在读取第几个文件
* 只要在session中实时保存文件上传的状态(这里我用fileUploadStatus类来封装)
*/
public void update(long pBytesRead, long pContentLength, int pItems) {
// TODO Auto-generated method stub
fileUploadStatus status = (fileUploadStatus) session.getAttribute("status");
status.setPBytesRead(pBytesRead);
status.setPContentLength(pContentLength);
status.setPItems(pItems);
}
}
然后在上传得servlet或action中加入这样一段代码,就可以把自定义的progressListener添加进去
myProgressListener getBarListener = new myProgressListener(req); ServletFileUpload upload = new ServletFileUpload(factory); upload.setProgressListener(getBarListener);
最后就是通过js来不断的访问另一个servlet来实时返回上传状态就可以了,限于篇幅我就不再贴代码了,有兴趣的读者可以自己下载来看。
完整实例代码点击此处本站下载。
希望本文所述对大家Java程序设计有所帮助。
相关文章
SpringBoot登录、退出、获取用户信息的session处理方案
这篇文章主要介绍了SpringBoot登录、退出、获取用户信息的session处理,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-08-08
一文掌握SpringSecurity BCrypt密码加密和解密
BCrypt就是一款加密工具,可以比较方便地实现数据的加密工作。也可以简单理解为它内部自己实现了随机加盐处理,这篇文章主要介绍了SpringSecurity BCrypt密码加密和解密,一文学会使用BCryptPasswordEncoder的方法,需要的朋友可以参考下2023-04-04
使用Mybatis的Batch Insert Support 实现批量插入
这篇文章主要介绍了使用Mybatis的Batch Insert Support 实现批量插入。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07


最新评论