jsf框架下渲染解析生成xhtml标签时,自己写的AJAX ,返回不了文件上传的进度条?

CAD GIS开发 2016-01-19 07:23:15
        private void responseFileUploadStatusPoll(HttpServletRequest request,HttpServletResponse response) throws IOException{    
FileUploadStatus fUploadStatus=(FileUploadStatus)request.getSession().getAttribute(UPLOAD_STATUS);
//计算上传完成的百分比
System.out.println(fUploadStatus+"-------------fUploadStatus");
long percentComplete = (long)Math.floor(((double) fUploadStatus.getReadTotalSize()/(double) fUploadStatus.getUploadTotalSize())*100.0);
System.out.println("com:"+percentComplete);
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache");
System.out.println(response.getContentType()+"-------------fUploadStatus");
if ( ((long)fUploadStatus.getReadTotalSize() == (long)fUploadStatus.getUploadTotalSize()) || (fUploadStatus.getCancel() == true)){
response.getWriter().write(fUploadStatus.getStatus().toString()+"success");
}else{
response.getWriter().write(fUploadStatus.getStatus().toString()+"<div class=\"prog-border\"><div class=\"prog-bar\" style=\"width: "
+ percentComplete + "%;\"></div></div>");
}
}
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CAD GIS开发 2016-01-19
  • 打赏
  • 举报
回复
        
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);    
                
            if (isMultipart) {    
                processFileUpload(request,response);  
        System.out.println("1111111111111");
            }else{    
                request.setCharacterEncoding("UTF-8");    
                System.out.println("222222222222222"); 
                if (request.getParameter("uploadStatus")!=null){    
                    responseFileUploadStatusPoll(request,response);  
                    System.out.println("3333333333333"); 
                }    
                if (request.getParameter("cancelUpload")!=null){    
                    processCancelFileUpload(request,response);  
                    System.out.println("44444444444444"); 
                }    
            }    
                
        }  
CAD GIS开发 2016-01-19
  • 打赏
  • 举报
回复
processFileUpload(request,response); 这个方法里面可以获得 AJAX 每次请求的文件信息,而调用responseFileUploadStatusPoll()向前台写入进度条信息时,sessionid变化了,不是同一个session,session保存的 对象 文件上传状态对象。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧