في الآونة الأخيرة ، أحتاج إلى تحميل ملفات الملفات في المشروع. لقد قمت دائمًا بإرساله حسب النموذج من قبل. جربت AJAXFORM وشعور أنه مفيد للغاية. كتبت علامة مقال للاستخدام في المستقبل.
تحضير:
تنزيل jQuery-form.js
جرة ذات صلة:
المشاع filepload -1.1.1.jar
العموم-IO-1.3.2.jar
تكوين multipartresolver في 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 ٪> <html> <!--المؤلف (المؤلفون): Xieshuang- التاريخ: 2016-06-20 13: 46: 20- الوصف:-> <head> <title> العنوان </title> <meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8"/> src = "<٪ = request.getContextPath () ٪>/common/nui/nui.js" type = "text/javaScript"> </script> <script src = "<٪ = request.getContextPath () ٪>/common/nui/jquery-form.js type = "text/javaScript" src = "<٪ = request.getContextPath () ٪>/page4nui/master/projectType/js/projectType_import.js"> </script> <script type = "text/javaScript"> var contextpath = <٪ = request.getxtpathpath () style = "padding-top: 5px ؛ min-width: 300px ؛ min-height: 180px ؛"> <form id = "fileUpload" method = "post" enctype = "multipart/form-data"> <div id = "dataimport"> <tr> <tr align = "right" name = "file"> <font style = "color: red ؛ width: 5 ٪ ؛"> *</font> </td> </tr> </table> </viv> <div align = "center"> <input iconcls = "icon-ok" value = "ok" type = iconcls = "icon-cancel" onClick = "Cancel"> إلغاء </a> </div> </part> </viv> </body> </html>
Core JS:
var msg ؛ $ (function () {nui.parse () ؛ // ajax configuration var reports = {url: contextpath+"/webapp/cfprojecttype/importexcel" ، be forresubmit: showrequest ، // النجاح الحالي: showresponse ، // إعادة إكمال معالجة: true ، dataType: 'json'} ؛ $ ('#fileupload'). إرسال (function () {// note $ (this) .AjaxSubmit (Options) ؛ return false ؛ // منع الحوار من الإغلاق تلقائيًا}) ؛}). if (eImportFlag == true) {closeWindow ("ok") ؛ } آخر {// بعض معالجة الأخطاء}}} // بعض التحقق قبل دالة التقديم showRequest (formData ، jqform ، الخيارات) {if (formData [0] .value == "" العودة كاذبة } var filename = $ ("#uploadfile"). val (). split ("//"). pop () ؛ var strs = new array () ؛ // تحديد صفيف strs = filename.split ('.') ؛ var factix = strs [strs .length - 1] ؛ if (لاحقة! = 'xls' && لاحقة! = 'xlsx') {nui.alert ("الرجاء تحديد ملف excel!") ؛ العودة كاذبة } msg = nui.loading ("التحميل" ، "من فضلك الانتظار") ؛}كود جافا:
suppressWarnings ("Unchecked")@requestMapping ("/webapp/cfprojecttype/importexcel")@responsebodypublic map <string ، object> importexcel (requestparam ("file") multipartfile [] InputStream FIS ؛ FIS = فارغة ؛ file filein = null ؛ حاول {for (multipartfile myfile: files) {if (! myfile.isempty ()) {string RealPath = request.getSession (). getServletContext (). getRealPath ("/export") ؛ FileIn = ملف جديد (RealPath) ؛ // تحكم على ما إذا كان الدليل حيث يوجد الملف الذي تم تحميله إذا (! fileIn.exists () &&! filein.isdirectory ()) {// إنشاء الدليل filein.mkdirs (path) ؛ } // انسخ الملف الذي تم تحميله إلى المجلد myfile.transferto (ملف جديد (مسار+اسم ملف)) ؛ }}}}لقد استخدمت هنا طريقة أخرى fileUtils.CopyInputStreamTofile (inputStream arg0 ، file arg1) من قبل ، والتي يمكنها أيضًا حفظ الملف إلى المسار.
لمزيد من المحتوى إثارة ، يرجى الرجوع إلى الموضوعات الخاصة "ملخص Ajax Upload Technology" و "ملخص تشغيل ملف JavaScript" و "ملخص تشغيل JQuery" للتعلم.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.