최근 프로젝트에서 파일 파일을 업로드해야합니다. 나는 항상 그것을 전에 양식으로 제출했습니다. 나는 ajaxform을 시도했는데 그것은 매우 유용하다고 생각합니다. 나는 향후 사용을위한 에세이 마크를 썼습니다.
준비:
jquery-form.js를 다운로드하십시오
관련 항아리 :
Commons-FileUpload-1.1.1.jar
Commons-IO-1.3.2.jar
Spring-servlet.xml에서 멀티 패트레이션버 구성 :
<bean id = "multipartresolver"> <property name = "defaultencoding"value = "utf-8" /> <property name = "maxuploadsize"value = "10485760000" /> <property name = "maxinmemorysize"value = "40960" /> < /bean>
이것은 필수입니다. 그렇지 않으면 작동하지 않습니다.
페이지:
<! docType html public "-// w3c // dtd html 4.01 Transitional // en" "http://www.w3.org/tr/html4/loose.dtd">< 페이지 language ="java "contmenttype ="text/html; charset = utf-8 "popeoding" 비 src = "<%= request.getContextPath ()%>/common/nui/nui.js"type = "text/javaScript"> </script> <script src = "<%= request.getContextPath ()%>/common/nui/jquery-form.js"type/javascript "> </javascript"> type = "text/javaScript"src = "<%= request.getContextPath ()%>/page4nui/mas Style = "Padding-Top : 5px; min-width : 300px; min-height;"height; "> <form id ="filupload "method ="post "enctype ="multipart/form-data "> <div id ="dataimport "> <table> <tr> <th align ="right "> selep file : <td> 이름 = "file"> <font style = "color : 빨간색; 너비 : 5%;"> * *</font> </td> </tr> </table> </div> <div align = "center"> <입력 iconcls = "icon-ok"value = "ok"submit "/> <span style ="display : inline-block; </px; ">. iconcls = "icon-cancel"onclick = "취소"> 취소 </a> </div> </form> </div> </body> </html>
핵심 JS :
var msg; $ (function () {nui.parse (); // ajax configuration var 옵션 = {url : contextpath+"/webapp/cfprojecttype/importexcel", beforesubmit : // showrequest : showresponse, // 완료 처리 : true, datatype : 'json'}; $ ( '##fileUpload'). 제출 (function () {// note $ (this.) if (e.importflag == true) {Crophindow ( "OK"); } else {// 일부 오류 처리}} // 제출 기능 ShowRequest (formData, jqform, 옵션) {if (formData [0] .value == ""|| formdata [0] .value == null) {nui.alert ( "Pleet Select"); 거짓을 반환합니다. } var filename = $ ( "#uploadfile"). val (). split ( "//"). pop (); var strs = new Array (); // 배열 정의 strs = filename.split ( '.'); var 접미사 = strs [strs .length -1]; if (wiffix! = 'xls'&& 접미사! = 'xlsx') {nui.alert ( "Excel 파일을 선택하십시오!"); 거짓을 반환합니다. } msg = nui.loading ( "로드", "제발 대기");}자바 코드 :
@SuppressWarnings ( "Checked")@requestMapping ( "/webApp/cfprojectType/importExcel")@responseBodyPublic Map <string, 객체> importexcel (@requestParam ( "file") multipartFile [] 파일, httpservletRequest 요청) {// long startTiem = System.CurrentMillis (); 입력 스트림 FI; fis = null; file pilein = null; {for (multipartfile myfile : files) {if (! myfile.isempty ()) {String realPath = requestSession (). getServletContext (). getRealPath ( "/Export"); fileIn = 새 파일 (realPath); // 업로드 된 파일이있는 디렉토리가 if (! filein.exists () &&! filein.isdirectory ()) {// 디렉토리 파일을 만듭니다 .mkdirs (path); } // 업로드 된 파일을 폴더 myFile.transferto (새 파일 (path+filename))에 복사합니다. }}}}여기에 다른 방법 FileUtils.copyInputStreamTofile (InputStream Arg0, File Arg1)을 사용하여 파일을 경로에 저장할 수 있습니다.
보다 흥미로운 콘텐츠는 "Ajax 업로드 기술 요약", "JavaScript 파일 업로드 작업 요약"및 "JQuery 업로드 작업 요약"을 참조하십시오.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.