Wordドキュメントをダウンロードするには、2つの方法をコールバックするためのフロントエンドインターフェース

 

 

                      伝統的なAjaxはバックグラウンドに提出するが、返されたデータはJSONなど、HTML、テキスト文字列、に解析された1が、ダウンロードするには、ブラウザには対応できません。たとえデータの量が容易ではないシミュレーションダウンロードボブの使用

          騒ぎ:コードは(ここでLayuiを提出することを聞いて、従来のHTMLより便利に提出)

//モニタ送信
フォーム。ON(「送信(formDemo)」、関数(データ){
レイヤ。MSG(JSON。文字列化(データ。フィールド));
//この第1の実施形態では、直接開くリンク、サフィックスのパラメータ背景を見つけ、あなたがダウンロードできる
(?=上記のIDを述べたダウンロード「/ + data.field.idは、/ジャンプ」「_blank」)//は、window.open;


// 2番目の方法はアナログフォーム送信こうして、ダイナミックアクセスパスの値背面に{試しVAR queryForm = $('#llll'); VAR exportForm = $("<フォームアクション= '/ジャンプ/ダウンロード'メソッド= 'POST'> </ FORM>")queryForm。 検索"INPUT" )。各(関数(){ VAR 名= $(この)。ATTR(")「名前; VARの値=






$(この)。ヴァル();
exportForm。付加("の<input type = '隠された' NAME = '" + 名+ " '値='" + 値+ "' />")
})。

queryForm。(見つける"選択")。各(関数(){
VARの名= $(この)。ATTR("名前");
VAR 値= $(この)。ヴァル();
exportForm。 追加"の<input type = '隠された' NAME = '" + 名前+ " '値='" + 値+ "'/>")
})。

$(文書。ボディ)。(追加exportForm)。
exportForm。 提出);
} キャッチ(E){
コンソール。ログ(E)は、
} 最後に{
exportForm。 )(取り外し;
}


// AJAX第三フォームが提出される3は、提出することができるこのような方法でダウンロードするには、ブラウザには対応しておりません。地図は戻りますが、リターンは再び、あまりにも面倒、熟練したJSネイティブのパートナーを試すことができ、ファイルをダウンロードすることは容易ではありませんIない無能
// $アヤックス({
タイプの//:「GET」、
// URL:「/ジャンプ/ダウンロード"
//データ:JSON.stringify(data.field)
//のcontentType:"ファイルアプリケーション/ JSON;のcharset = UTF-8」、
//成功:機能(データ){
//
//}
//} ); falseを返す; // AJAX Layuiを提出する際にページが自動的に更新防ぎます)};




 @ApiOperation(値= "エクスポートWord文書"、ノート= "{ \" IDの\ " \" 11 \ " }")
@RequestMapping(値= "/ダウンロード"、メソッド= RequestMethod POST)を
公共ボイドダウンロード(HttpServletRequestを要求は、HttpServletResponseの応答)は、IOExceptionが{スロー

@RequestBody地図遠位支持体上提出実施形態をマッピング三提出の前端に対応//地図
の地図の<string、オブジェクト> = userMapMeS 新しい新しいハッシュマップの<string、オブジェクト>();
/ /文字列fileNameに= map.getとして( "名前")のtoString();.
// userMapMeS.put( "名前"、map.getとして( "名前")のtoString());
// userMapMeS.put( "ID" 、map.get( "ID")のtoString ());
// userMapMeS.put( "年齢"、map.get( "年齢")のtoString());
// userMapMeS.put( "電話"、map.get( "電話")のtoString()); // userMapMeS.put( "パスワード"、map.get( "パスワード")のtoString()); // userMapMeS.put( "電子メール"、map.get( "Eメール")のtoString()); // userMapMeS.put( "回"、map.get( "回")のtoString()); // userMapMeS.put( "アドレス"、map.get( "アドレス")のtoString()); // userMapMeS.put( "性別"、map.get( "性別")のtoString()); // userMapMeS.put(。 "仕事"、map.get( "仕事")のtoString()); // userMapMeS.put( "趣味"、map.get( "趣味")のtoString()); //对应第一种前端提交方式//文字列ID = request.getParameter( "ID")。//マップマップ=新しいHashMapの(); // map.put( "ID"、ID)。//ユーザーのユーザー= userService.selectUser(マップ)//文字列fileNameに= user.getName()。















//地図の<string、オブジェクト> userMapMeS =のHashMap <文字列、オブジェクト>()新しいです。
// userMapMeS.put( "名前"、user.getName());
// userMapMeS.put( "ID"、user.getId())。
// userMapMeS.put( "年齢"、user.getAge());
// userMapMeS.put( "電話"、user.getPhone());
// userMapMeS.put( "パスワード"、user.getPassword());
// userMapMeS.put( "電子メール"、user.getEmail());
// userMapMeS.put( "回"、user.getTimes());
// userMapMeS.put( "アドレス"、user.getAddress());
// userMapMeS.put( "性別"、user.getSex());
// userMapMeS.put( "仕事"、user.getWork());
// userMapMeS.put( "趣味"、user.getHobby());



"名前"、request.getParameter("名前")のtoString());
userMapMeS.put("ID"、request.getParameter("ID")のtoString())。
userMapMeS.put("年齢"、request.getParameter("年齢")のtoString());
userMapMeS.put("電話"、request.getParameter("電話")のtoString());
userMapMeS.put("パスワード"、request.getParameter("パスワード")のtoString());
userMapMeS.put("電子メール"、request.getParameter("電子メール")のtoString());
userMapMeS.put("回"、request.getParameter("倍")のtoString());
userMapMeS.put("
"性別"、request.getParameter("性別")のtoString());
userMapMeS.put("仕事"、request.getParameter("仕事")のtoString());
userMapMeS.put("趣味"、request.getParameter("趣味")のtoString())。
ストリングendCodeFileName = 新しい文字列(fileName.getBytes("UTF-8")、"ISO8859-1")。
response.reset(); //清除空白行纺织报错
response.setHeader("アクセス制御-許可-起源"、"*"); //所有域都可以跨
response.setHeader("Content-Typeの"、"アプリケーション/オクテットストリーム;のcharset = UTF-8"); //二进制流文件
response.setHeader("「.DOC」); //ダウンロードしたファイル名と
response.setHeader(『接続』、『閉じる使用』); //接続要求ヘッダー閉じる
ファイルを設定//ブラウザで開くかダウンロードされ
response.setContentType(「アプリケーション/ X-を-download「);


WordUtil wUtil = 新新WordUtil();
ロング今のシステムを=。にcurrentTimeMillis(と);
wUtil.createDoc(userMapMeS、response.getOutputStream());
。=エンドロング・システムにcurrentTimeMillisと();
=エンド今ロングDDD ;
。システムout.printlnを("DDD" + DDD);

}
 次の記事ツールで

おすすめ

転載: www.cnblogs.com/wangbiaohistory/p/11761855.html