يشارك هذا المثال رمز SpringMVC المحدد باستخدام MultipartFile لتنفيذ تحميل الملفات للمرجع الخاص بك. المحتوى المحدد كما يلي
1. ملف التكوين
يستخدم springmvc multipartfile لتحميل الملفات ، لذلك نحتاج أولاً إلى تكوين multipartresolver: لمعالجة الملف في النموذج
<!-تكوين multipartresolver commoSmultiPartresolver لتحميل الملف باستخدام spring-> <beans: bean id = "multipartresolver" p: defaultencoding = "utf-8" p: maxuploadsize = "5400000" p: apploadtempdir = "fileuplo/temp"
تم شرح السمات بالتفصيل:
DefaultEncoding = "UTF-8" هو تنسيق الترميز المطلوب ، ISO-8859-1 الافتراضي
maxuploadsize = "5400000" هو حجم الملف الذي تم تحميله ، بالبايت
UploadTempdir = "FileUpload/temp" هو المسار المؤقت لتحميل الملف
2. قم بإنشاء نموذج تحميل بسيط
<Body> <h2> مثيل تحميل الملف </h2> <form Action = "fileupload.html" method = "post" enctype = "multipart/form-data"> تحديد ملف: <input type = "file" name = "file"> <input type = "prident" value = "
لاحظ أنه يجب عليك إضافة enctype = "multipart/form-data" إلى علامة النموذج للإشارة إلى أن النموذج يحتاج إلى معالجة الملف. هذا هو الشيء الأساسي. سوف ينسى الكثير من الناس خطأ البحث عن البرنامج بعد خطأ التحميل ، لكن ينسوا هذه النقطة.
3. اكتب فئة التحكم في التحميل
1. إنشاء فئة تحكم: FileUploAdController وصفحة تقوم بإرجاع قائمة النتائج. jsp
2. اكتب الإجراء لتقديم النموذج
// احصل على طلب التكوين الافتراضي لـ Spring من خلال طلب HttPservleDrequest الخاص بـ AutoWired الخاص بـ SPRING ؛ / *** * قم بتحميل الملف باستخدام requestparam التعليق التوضيحي لتحديد أن الملف الموجود على النموذج هو multipartfile * * param file * @return */ requestmapping ( filePath = request.getSession (). getServletContext (). // transferto (ملف جديد (FilePath)) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }} // إعادة توجيه "إعادة التوجيه:/list.html" ؛ }/*: ModelAndView Mav = new ModelAndView ("List") ؛ ملف uploadDest = ملف جديد (FilePath) ؛ String [] fildenames = uploaddest.list () ؛ لـ (int i = 0 ؛ i <fileNames.length ؛ i ++) {// print Out the file name system.out.println (filenames [i]) ؛ } إرجاع Mav ؛ } 3. استخدم SPRINGMVC requeration requestparam لتحديد معلمات الملف في النموذج ؛
4. حدد مسار مشروع الويب لحفظ الملفات
5. Transferto (File Dest) طريقة MultipartFile إلى المسار المحدد.
في هذه المرحلة ، انتهى تحميل الملف الأساسي.
بعض الطرق شائعة الاستخدام لفئة multipartfile:
سلسلة getContentType () // احصل على نوع mime file
inputStream getInputStream () // ثم انتقل إلى تدفق الملف
سلسلة getName () // احصل على اسم مكون الملف في النموذج
String getoriginalfilename () // احصل على الاسم الأصلي للملف الذي تم تحميله
Gettize () // احصل على حجم البايت للملف ، بايت الوحدة
منطقية isempty () // هل هي فارغة
void transferto (file dest) // حفظ إلى ملف الهدف.
4. تحميل ملفات متعددة
تحميل ملفات متعددة أمر بسيط للغاية في الواقع. تمامًا مثل تحميل المعلمات نفسها الأخرى ، مثل مربع الاختيار ، استخدم نفس الاسم في النموذج ، ثم حدد فئة المعلمة متعددة الأطراف كصفيف في الإجراء.
التنفيذ التالي:
1. قم بإنشاء نموذج يقوم بتحميل ملفات متعددة:
<Body> <h2> قم بتحميل مثيلات ملف متعددة </h2> <form Action = "filesupload.html" method = "post" enctype = "multipart/form-data"> <p> <p> حدد ملفًا: <file type = "file" = "file" اكتب = "إرسال" value = "إرسال"> </form> </body>
2. اكتب إجراء لمعالجة النموذج وكتابة طريقة منفصلة لحفظ الملف لتسهيل المشاركة:
/*: // transferto (ملف جديد (FilePath)) ؛ العودة صحيح. } catch (استثناء e) {E.PrintStackTrace () ؛ }} إرجاع خطأ ؛ } 3. اكتب الإجراء: @requestmapping ("filesupload") السلسلة العامة filesupload (requestparam ("ملفات") multipartfile []) 0 ؛ i <files.length ؛ i ++) {multipartfile file = files [i] ؛ // حفظ الملف SaveFile (file) ؛ }} // إعادة توجيه "إعادة التوجيه:/list.html" ؛ }ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.