最近、プロジェクトにファイルファイルをアップロードする必要があります。私はいつもフォームでそれを以前に提出しました。私はAjaxformを試してみましたが、それは非常に便利だと感じています。将来の使用のためにエッセイマークを書きました。
準備:
jquery-form.jsをダウンロードします
関連ジャー:
commons-fileupload-1.1.1.jar
Commons-Io-1.3.2.jar
Spring-Servlet.xmlでMultiPartresolverを構成します:
<bean id = "multipartresolver"> <プロパティ名= "defaultencoding" value = "utf-8" /> <プロパティ名= "value =" 10485760000 " /> <プロパティ名=" maxinmemorysize "value =" 40960 " /> < /bean> <
これは必須です。そうしないと、機能しません。
ページ:
<!doctype html public " - // w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> %> <html> <! - 著者:xieshuang-日付:2016-06-20 13:46:20-説明: - > <head> <title> title </title> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <スクリプトsrc = "<%= request.getContextPath()%>/common/nui/nui.js" type = "text/javascript"> </script> <scrip src = "<%= request.getContextPath() src = "<%= request.getContextPath()%>/page4nui/master/projecttype/js/projecttype_import.js"> </script> <script type = "text/javascript"> var contextpath = "< style = "padding-top:5px; min-width:300px; min-height:180px;"> <form id = "fileupload" method = "post" enctype = "multipart/form-data"> <div = "dataimport"> <table> <tr> <th align = "" file:</th> <tpt> <tpt> <tip "pile: name = "file"> <font style = "color:red; width:5%;"> *</font> </td> </tr </table> </div> <div align = "center"> <input iconcls = "icon-ok" value = "ok" type = "submit"/> <span style = "ディスプレイiconcls = "iconcancel" onclick = "cancel"> cancel </a> </div> </form> </div> </body> </html>
コアJS:
var msg; $(function(){nui.parse(); // ajax configuration var options = {url:contextpath+"/webapp/cfprojecttype/importexcel"、beforesubmit://現在の成功:showresponse、//処理完了resetform:datatype: 'json'}; {// note $(this).ajaxsubmit(options); //ダイアログを自動的に閉じるのを防ぐ}) if(e.importflag == true){closewindow( "ok"); } else {//エラーのいくつかの処理}} //提出関数の前の検証showRequest(formdata、jqform、options){if(formdata [0] .value == "" || formdata [0] .value == null){nui.alert( "file"); falseを返します。 } var filename = $( "#uploadfile")。val()。split( "//")。pop(); var strs = new array(); //配列strs = filename.split( '。')を定義します。 var suffix = strs [strs .length -1]; if(suffix!= 'xls' && suffix!= 'xlsx'){nui.alert( "Excelファイルを選択してください!"); falseを返します。 } msg = nui.loading( "loading"、 "white waite");}Javaコード:
@suppresswarnings( "unchecked")@requestmapping( "/webapp/cfprojecttype/importexcel")@responsebodypublic map <string、object> importexcel( "file")multipartfile []ファイル、httpservletrequestリクエストinputstream fis; fis = null; file filein = null; try {for(multipartfile myfile:files){if(!myfile.isempty()){string realpath = request.getSession()。getServletContext()。getRealPath( "/export"); filein = new file(realpath); //アップロードされたファイルが存在するディレクトリが存在するかどうかを判断します。 } //アップロードされたファイルをフォルダーmyfile.transferto(new File(PATH+FILENAME))にコピーします。 }}}}ここでは、別のメソッドfileutils.copyinputStreamTofile(inputstream arg0、file arg1)を使用しました。これは、ファイルをパスに保存することもできます。
よりエキサイティングなコンテンツについては、学習用の特別なトピック「Ajaxアップロードテクノロジーの概要」、「JavaScriptファイルアップロード操作の概要」、「JQueryアップロード操作概要」を参照してください。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。