`
wicketUser
  • 浏览: 15918 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 上传进度条,后台部分

阅读更多

第一步:新建三个类,这三个类我已经写好,就直接在下面下载附件好了。

 

ResourceFileUploadStatus.java 
ResourceProgressListener.java
ResourceFileUploadStatusAction.java  如果是注解方式,一定要放在action 或 web 包内否则 struts2 扫描不到

 第二步:修改org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest  的 parseRequest方法,加入以下代码。

  ResourceProgressListener pListener = new ResourceProgressListener(servletRequest);
    upload.setProgressListener(pListener);

 修改后为:

private List<FileItem> parseRequest(HttpServletRequest servletRequest, String saveDir) throws FileUploadException {
    DiskFileItemFactory fac = createDiskFileItemFactory(saveDir);
    ServletFileUpload upload = new ServletFileUpload(fac);
    upload.setSizeMax(this.maxSize);

    ResourceProgressListener pListener = new ResourceProgressListener(servletRequest);
    upload.setProgressListener(pListener);

    return upload.parseRequest(createRequestContext(servletRequest));
  }

 然后在将修改的JakartaMultiPartRequest 放回原处,至此后台部分已经完成。

 

第三步:前台可用ajax 轮询访问

ResourceFileUploadStatusAction.java 

  便可得到已上传的bytes

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics