AJAXリクエストが応答しませんでした後でファイルをダウンロード

AJAXリクエストが応答しませんでした後でファイルをダウンロード

 

// $アヤックス({ 
// URL :, 
//タイプ: 'POST'、
//データ型: 'JSON'、// JSON返回值类型
//データ:{ 
// FILEID:FILEID 
//} 
//成功:関数(データ){ 
//はconsole.log( "downFile -------"); 
// MaskUtil.unmask(); 
//} 
//エラー:関数(){ 
// MaskUtil.unmask (); 
//警告( "下载异常!"、 ""、NULL、{タイプ: '警告'}); 
//} 
//}); 
改用window.location.href = URL即可
window.locationの。 HREF = basePathを+ "安らか/ downloadFile.do FILEID =?" + FILEID。
  リア:
@RequestMapping(値= "/ downloadFile")
	公共ボイドdownloadFile(文字列FILEID、HttpServletRequestのリクエスト、HttpServletResponseの応答)にIOException {スロー
//文字列FILEID = request.getParameter( "ファイルID")== NULLか?"":request.getParameter( "FILEID"); 
		logger.info( "downloadFile番号:" + FILEID)。
		地図<文字列、オブジェクト>のparams = Maps.newConcurrentMap(); 
		params.put( "ID"、GlobalVariable.MONGO_KEY_PREFIX + FILEID)。
		JSONObject JSON = fileUpDownload.fileDownloadFromMongo(propertiesUtil.getUploadUrl()、propertiesUtil.getCollectionName()、paramsは)。
		JSONObject reJson =新しいJSONObject(); 
		reJson.put( "成功"、偽の); 
		(json.getBooleanValue( "成功"の場合
	        response.setContentType(「ファイルapplication / octet-streamと」); 
	        //セット3コンテンツ配置ヘッダに応答して、オープン形式のファイルをダウンロードするためのブラウザを制御する。
	        Response.AddHeader(「コンテンツの廃棄」、「添付ファイル、ファイル名=」+新しい新ストリング(fileName.getBytes( "UTF-8")、 "ISO8859-1")); 
			のOutputStream OS = NULL; 
	        BufferedInputStreamをBIS = NULL; 
			試み{ 
	            OS = response.getOutputStream(); 
	            os.write(json.getBytes( "バイト「)); 
	            os.flush(); 
	        }キャッチ(IOExceptionをE){ 
	            e.printStackTrace(); 
	        } {ついに
	            試し{ 
	            	!IF(BIS = NULL)= NULL) 
	            		bis.close();
	            }キャッチ(IOExceptionを電子){ 
	                e.printStackTrace(); 
	            } 
	            {試みる
	            	(!OS = NULL)場合
	            		にos.close(); 
	            }キャッチ(IOExceptionを電子){ 
	                e.printStackTrace(); 
	            } 
	        } 
		} 
	}
 

おすすめ

転載: www.iteye.com/blog/lihong11-2443607