1. الحزم المطلوبة:
1.
تنزيل عنوان
http://commons.apache.org/downloads/download_fileupload.cgi
2. العموم-IO-1.4.jar:
تنزيل عنوان
http://commons.apache.org/downloads/download_io.cgi
2. ملاحظات:
يجب إضافة enctype = "multipart/form-data" إلى النموذج
3. أمثلة رمز
1. رمز JSP:
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <! <html> <head> <meta http-equiv = "content-type" content = "text/html ؛ charset = utf-8" <td> name </td> <td> <input type = "text" name = "name"> </td> </tr> <tr> <td> العمر </td> <td> <type type = "text" <td> </td> <td> <input type = "subvice" value = "submit"> </td> </tr> </table> </pump> </body> </html>
2. تحميل رمز
حزمة servlet استيراد java.io.bufferedInputStream ؛ استيراد java.io.bufferedOutputStream ؛ استيراد java.io.file ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.ioException ؛ استيراد java.io.writer ؛ استيراد java.util.iterator ؛ استيراد java.util.list ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httpservletrequest ؛ استيراد javax.servlet.http.httpservletresponse ؛ استيراد org.apache.commons.fileupload.fileItem ؛ استيراد org.apache.commons.fileupload.fileuploadexception ؛ استيراد org.apache.commons.fileupload.fileuploadexception ؛ استيراد org.apache.commons.fileupload.disk.diskfileItemFactory ؛ استيراد org.apache.commons.fileupload.servlet.servletfileupload ؛ استيراد org.apache.commons.fileupload.util.streams ؛ / ** * تحميل servlet * author lisanlai * */ public class exploadservlet يمتد httpservlet {private static final long serialversionuid = 1l ؛ publicloadservlet () {super () ؛ } doget void المحمي (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {this.dopost (request ، reponse) ؛ } suppressWarnings ("Unchecked") void dopost المحمية (طلب httpservletrequest ، httpservletresponse) يلقي servletexception ، ioException {response.setContentType ("text/html") ؛ // قم بتعيين الحرف الترميز على UTF-8 ، بحيث يعرض الأحرف الصينية. setcharacterencoding ("UTF-8") ؛ الكاتب o = response.getWriter () ؛ /** * أولاً ، حدد ما إذا كان النموذج enctype متعددًا/data * في نفس الوقت ، ويحدد أيضًا ما إذا كانت طريقة تقديم النموذج هي طريقة نشر *: ismultipartcontent (request) */if (servleTfilePload.IsmultipartContent (request) {request.setcharacterencoding ("utf-8") ؛ . . if (filedir.isdirectory () && filedir.exists () == false) {filedir.mkdir () ؛ } factory.setRepository (FileDir) ؛ // قم بتعيين الحد الأقصى لمصنع الذاكرة المحتلة. // إنشاء servletfileupload object servletfileUpload sfu = new ServletFileUpload (Factory) ؛ sfu.SetHeaderenCoding ("UTF-8") ؛ // قم بتعيين القيمة القصوى للملف المفرد SFU.SetFilesizeMax (102400000) ؛ // مجموع جميع الملفات التي تم تحميلها هو الحد الأقصى للبايت sfu.setsizemax (204800000) ؛ قائمة <FileItem> عناصر = null ؛ جرب {عناصر = sfu.parserequest (request) ؛ } catch (sizelimitexcedeedException e) {system.out.println ("حجم الملف يتجاوز الحد الأقصى") ؛ } catch (fileuploadexception e) {eprintStackTrace () ؛ } // احصل على iterator of head ITerator <IpileItem> iter = items == null؟ null: items.iterator () ؛ // دليل المسار المخزن بعد صور ملف تحميل الصورة = ملف جديد ("D:/Upload/Images/") ؛ if (images.exists () == false) {images.mkdirs () ؛ } // عناصر التكرار بينما (iter! = null && iter.hasNext ()) {fileItem item = (fileItem) iter.next () ؛ // إذا تم تمريره هو حقل نموذج عادي if (item.isformfield ()) {system.out.print ("حقل النموذج العادي:") ؛ System.out.print (سلسلة جديدة (item.getFieldName ()) + "") ؛ System.out.println (سلسلة جديدة (item.getString ("UTF-8")))) ؛ } // حقل الملف آخر if (! item.isformfield ()) {system.out.println ("source picture:" + item.getName ()) ؛ filename string = item.getName (). substring (item.getName (). lastIndExof ("//")) ؛ BufferedInputStream في = جديد bufferedInputStream (item.getInputStream ()) ؛ // يتم تخزين الملف في دليل d:/upload/images ، ويجب أن يكون لهذا الدليل أيضًا bufferedOutputStream Out = new BufferEdoutputStream (FileOutputStream جديد (ملف جديد (صور. getabsolutepath ()+ filename))) ؛ Streams.copy (في ، خارج ، صحيح) ؛ O.Write ("تحميل الملف الناجح") ؛ }}}} آخر {system.out.println ("خطأ في نوع enctype") ؛ }}}}} 3. web.xml
<؟ xmlns: web = "http://java.sun.com/xml/ns/javaee" XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id = "webapp_id" version = "2.5" <IRMOF-FILE> TOPLOAD.JSP </iship-file> </simple-file-lister> <servlet> <Description> </spection> <Display-Name> TOPLOADServlet </isplay-name> <Servlet-Name> UploadServlet </ervlet-name> <Sradlet-Name> ToploadServlet </servlet-name> <url-pattern>/uploadservlet </url-pattern> </revlet-mapping> </ball-app>
تم تجميع هذه المقالة في "ملخص لتقنيات تشغيل Java Upload" ، وكل شخص مرحب به للتعلم والقراءة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.