首页 > 编程 > Java > 正文

Java上传文件进度条的实现方法(附demo源码下载)

2019-11-26 14:44:29
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表