IEの下でAjaxSubmitを解決してファイルをアップロードしてファイルのダウンロードの問題をヒントを与えます。


スプリングmvcバックエンド:

@RequestMapping(value="scoreFileUpload",produces = "text/html; charset=utf-8") 
  @ResponseBody 
  public String upload(HttpSession session,@RequestParam("file1") MultipartFile file,@RequestParam("paperId") String paperId,HttpServletRequest request) { 
  //       id 
  Integer userId = (Integer) session.getAttribute(BaseConstant.SESSION_UERID_KEY); 
  JSONObject json = new JSONObject(); 
  if (request instanceof MultipartHttpServletRequest) { 
    //           
      String fileName = file.getOriginalFilename(); 
      String subfix = FileUtils.getFileExtend(fileName); 
    } 
return ""; 
  } 
js:端

$('#fileForm').submit(function() { 
    var _businessDetailId = $("#businessDetailId").val(); 
    var _paperId = $("#paperId").val(); 
    var url = "scoreFileUpload?paperId="+_paperId+"&businessDetailId="+_businessDetailId; 
    var optionss = {  
         dataType:"text/html",  
         type:'post',  
         url: url,  
      //  beforeSubmit:showRequest,  
         complete:showResponse, 
         clearForm:false, 
        timeout:  3000000  
    }; 
    //     
    $(this).ajaxSubmit(optionss); 
    // !!! Important !!! 
    //                       (      ?)  false 
    return false; 
  });<pre name="code" class="javascript">function showResponse(data) { 
  data = JSON.parse(data.responseText); 
  if(data.type != null) { 
  } 
} 
戻るタイプがjsonであれば、このような問題はieの下にしか現れません。chromeとfirefoxは正常です。問題を解決するためには、text/htmlに戻るしかない。
バックエンドが戻るタイプはjsonではなく、text/htmlで、戻るタイプをjsonタイプに変えます。
以上は小编が皆さんに绍介した解决IEの下で、AjaxSubmitファイルをアップロードしてファイルをダウンロードすることを提示しました。皆さんに助けてほしいです。ここでも私たちのサイトを応援してくれてありがとうございます。