في تطوير الويب الخاص بنا ، نحتاج في كثير من الأحيان إلى تحميل بعض الملفات من الجهاز إلى خادم الويب.
على سبيل المثال: نظام BBS ، عندما يستخدم المستخدمون هذا النظام ، يمكنهم تحميل بعض الصور ومستندات الجهاز إلى الخادم. ثم يمكن للمستخدمين الآخرين تنزيل هذه الملفات ، لذلك بهذه الطريقة ، يمكننا برمجة تحميل الملف من قبل أنفسنا
ولكن هناك طريقة أفضل هي استخدام بعض المكونات الحالية لمساعدتنا على تنفيذ وظيفة التحميل هذه.
مكونات التحميل الشائع:
المشاعات FileUpload بواسطة Apache
Javazoom's UploadBean
JSPSMartupload
تحميل. jsp
شفرة؛
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" ٪> <html> <head> <title> باستخدام تحميل العموم لتحميل ملف </title> </head> <style>* {font-family: "安体" ؛ حجم الخط: 14px} </style> <body> <p align = "center"> يرجى تحديد الملف الذي تريد تحميله </p> <form id = "form1" name = "form1" method = "post" Action = "servlet/filedervlet" enctype = "multipart/form-data" <table align = name = "name" type = "text" id = "name" size = "20"> </td> </td> <tr> <td> ملف التحميل: </td> <td> <td name = "file" type = "file" size = "20" type = "reset" name = "reset" value = "reset"> </td> </tr> </table> </pump> </body> </html>رمز fileuploadservlet.java :
! javax.servlet.http.httpservletrequest ؛ import javax.servlet.http.httpservletrespons org.apache.commons.fileupload.disk.diskfileItemFactory ؛ import org.apache.commons.fileupload.servlet.servletfileUpload ؛/** * * * @Author Xhw * * * @Date 2011-7-26 */public class -7744625344830285257L ؛ خاص servletContext SC ؛ سلسلة خاصة SavePath ؛ DOGED VOID Public Void (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {dopost (request ، response) ؛ } public void init (servletConfig config) {// معلمة التهيئة المحفوظة في web.xml = config.getInitParameter ("SavePath") ؛ sc = config.getServletContext () ؛ } public void dopost (طلب httpservletrequest ، استجابة httpservletponse) يلقي servletexception ، ioException {request.setcharacterencoding ("utf-8") ؛ DiskfileItemFactory Factory = New DiskfileItemFactory () ؛ servletfileupload تحميل = جديد servletfileupload (المصنع) ؛ حاول {list heads = upload.parserequest (request) ؛ iterator itr = items.iterator () ؛ بينما (itr.hasnext ()) {fileItem item = (fileItem) itr.next () ؛ if (item.isformfield ()) {system.out.println ("اسم المعلمة النموذج:" + item.getFieldName () + "، قيمة المعلمة النموذج:" + item.getString ("UTF-8")) ؛ } else {if (item.getName ()! = null &&! item.getName (). equals ("")) {system.out.println ("upload size:" + item.getSize ()) ؛ System.out.println ("نوع التحميل نوع الملف:" + item.getContentType ()) ؛ // item.getName () إرجاع اسم المسار الكامل للملف الذي تم تحميله على system.out.println ("تحميل اسم ملف:" + item.getName ()) ؛ ملف tempfile = ملف جديد (item.getName ()) ؛ . item.write (ملف) ؛ request.setAttribute ("epload.message" ، "تحميل ملف بنجاح!") ؛ } آخر {request.setAttribute ("epload.message" ، "لم يتم تحديد ملف تحميل!") ؛ }}}}} catch (fileUploAdexception e) {e.printStackTrace () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ request.setAttribute ("TOPLOAD.Message" ، "فشل تحميل ملف!") ؛ } request.getRequestDispatcher ("/UploadResult.jsp"). }}رمز eploadResult.JSP :
<٪@ page language = "java" import = "java.util.*" pageencoding = "utf-8" ٪> <! doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <head> exploadresult </title> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "Expires" content = "0" type = "text/css" href = "styles.css" rel = "nofollow"> -> </head> <body> $ {requestscope ['epload.message']} <a href = "/uploadfile.jspweb.xml
<Servlet> <scription> هذا هو وصف مكون J2EE الخاص بي </description> <عرض العرض> هذا هو اسم العرض الخاص بمكون J2EE الخاص بي </display-name> <stervlet-name> fileuploadservlet </revlet-name> <sterlet-class> com.b510.example.fileploadservled </revlet-class> <! -معلمات التهيئة المحددة-> <INIT-PARAM> <PARAM-NAME> SAVEPTH </param-name> <param-value> التحميلات </param-value> </IPAR-PARAM> </servlet>
تم تجميع هذه المقالة في "ملخص لتقنيات تشغيل Java Upload" ، وكل شخص مرحب به للتعلم والقراءة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.