zoukankan      html  css  js  c++  java
  • 利用iframe实现无刷新上传处理

    继上一篇对上传异常进行处理之后,当上传异常的时候的错误体验并不是很好,这里介绍用iframe来进行错误提示

    拦截错误

    	@ExceptionHandler(MaxUploadSizeExceededException.class)         
        public String handleException(Exception ex,HttpServletRequest request,HttpServletResponse response) {       
    		try {
             if (ex instanceof org.springframework.web.multipart.MaxUploadSizeExceededException){  
            	 	request.setAttribute("msg", "图片的总计大小不能超过50M ");
             	}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    //      return "redirect:/sales/apply/onLodaImageUplod.do?mspNo="+mspNo;  
    		return "views/sales/apply/a_image_uploading_error";  
    



    控制器

    	@RequestMapping(value = "/sales/apply/imageUploding")
    	public String imageUploding(String mspNo, HttpServletRequest request,
    			HttpServletResponse response , PrintWriter write 
    			,@RequestParam("chargeFront") CommonsMultipartFile chargeFront	
    			,@RequestParam("applicantIdFront") CommonsMultipartFile applicantIdFront
    			,@RequestParam("applicantIdSide") CommonsMultipartFile applicantIdSide
    			,@RequestParam("insuredsIdFront") CommonsMultipartFile insuredsIdFront
    			,@RequestParam("insuredsIdSide") CommonsMultipartFile insuredsIdSide
    			,Model model
    			)
    	{
                   //逻辑处理代码
    
    		return "views/sales/apply/a_image_uploading_error";
    	}
    



    a_image_uploading.jsp

    <form action="${ctx}sales/apply/imageUploding.do?applyBarCode=${applyBarCode}&mspNo=${mspNo}" method="post" id="fm" enctype="multipart/form-data">
    				<table border="0" cellspacing="0" cellpadding="0" class="T1" width="100%">
    					<tr>
    						<td  colspan="4"  style="font-size: 12px;color: red;">
    							<span style="margin-left: 20%">
    							提示:影像仅支持JPG格式,且单张图片不能超过5M,影像上传过程中,切勿关闭页面,谢谢。
    							</span>
    						</td>
    					</tr>
    					<tr  height="35px">
    						<td width="35%" align="right"> 缴费卡照片:</td>
    						<td width="65%">
    						<input type="file" name="chargeFront" id="chargeFront" onchange="onchangeFileImage(this.value,'chargeFrontSpanId')"/>
    						<span id="chargeFrontSpanId" style="color: red">${requestScope.bytesMap['chargeFrontMessage']}</span>
    						</td>
    					</tr>
    				</form>
    			</div>
    		<iframe name="frame" style="display:none"></iframe>	
    		<p class="tac" style="padding: 5px;">
    		<span id="hint" style="font-size: 12px;color: red;"></span>
    		</p>
    		<p class="tac" style="padding: 5px;">
    		<a href="#" id="imageUploading" class="m_l10 btn btn_redV" >下一步</a>
    		</p>
    		</div>
    


    		 $("#imageUploading").click(function() {
    			 			document.getElementById('hint').innerHTML = '<span id="hint" style="font-size: 12px;color: red;"></span>';
    			 		if(checkoutImage()){
    			 			var bln = window.confirm("进入自核后,您录入的投保信息以及拍摄的资料将无法再修改,是否继续?");  
    			 			document.forms['fm'].target = 'frame';
    			 			if(bln){
    			 			//showUploadBlock();
    			 			//showBlock();
    				  		 $("#fm").submit();
    			 		}
    			 		}
    			});
    



    a_image_uploading_error.jsp

    <script type="text/javascript">
      window.onload = function(){
    	  //移除遮罩层
    	  window.parent.hideBlock();
    	  var mspNo = document.getElementById('mspNostr').value;
    	  // 本页面获得的提示信息
    	  if(document.getElementById('subhint'))
    	  {
    	      var hint = document.getElementById('subhint').innerHTML; 
    	       // 找到父页面
    	       if(window.parent){
    	            if(window.parent.reset){
    	                    window.parent.reset();
    	            }
    	            if(window.parent.document.getElementById('hint')){
    	            		window.parent.location.reload();
    	                    window.parent.document.getElementById('hint').innerHTML = hint;
    	            }
    	       }
    	   }
    	
    	  if(mspNo)
    	  {
    	  	window.parent.location.href = "${ctx}/sales/apply/ownCheck.do?mspNo="+mspNo;
    	  }
      }
    </script>
    
    
    
    </body>
    <span id="subhint">${msg}</span>
    <input type="hidden" id="mspNostr" value="${mspNo}">
    



    博客地址:http://qiaoyihang.iteye.com/

  • 相关阅读:
    spring容器启动
    springmvc流程
    bean作用域
    bean的生命周期
    web.xml详解
    设计模式 工厂和抽象工厂
    requests 模块
    爬虫基础
    提高级
    循环语句
  • 原文地址:https://www.cnblogs.com/qiaoyihang/p/6166176.html
Copyright © 2011-2022 走看看