في تطوير الويب الخاص بنا ، نحتاج في كثير من الأحيان إلى تحميل بعض الملفات من الجهاز إلى خادم الويب.
على سبيل المثال: نظام BBS ، عندما يستخدم المستخدمون هذا النظام ، يمكنهم تحميل بعض الصور ومستندات الجهاز إلى الخادم. ثم يمكن للمستخدمين الآخرين تنزيل هذه الملفات. وبهذه الطريقة ، يمكننا برمجة تحميل الملف من قبل أنفسنا ، ولكن هناك طريقة أفضل هي استخدام بعض المكونات الحالية لمساعدتنا على تحقيق وظيفة التحميل هذه.
مكونات التحميل الشائع:
المشاعات FileUpload بواسطة Apache
Javazoom's UploadBean
JSPSMartupload
عنوان تنزيل FileUpload:
http://commons.apache.org/fileupload/
التنزيل: commons-filepload-1.2.2-bin.zip get: commons-filepload-1.2.2.jar
http://commons.apache.org/io/
التنزيل: Commons-IO-1.4-Bin.zip Get: Commons-IO-1.4.Jar
تحميل. 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:
package com.b510.example ؛ استيراد java.io.file ؛ استيراد java.io.ioException ؛ استيراد java.util.*؛ استيراد javax.servlet.servletconfig ؛ import javax.servlet 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 savePath = 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 ("TOPLOAD.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"> -> </head> <body> $ {requestScope ['epload.message']} <a href = "/uploadfile.jspweb.xml
شفرة:
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" المكون </description> <Display-Name> هذا هو اسم عرض مكون J2EE الخاص بي </display-name> <Servlet-Name> fileuploadservlet </servlet-name> <Servlet-class> com.b510.example.fileuploadservlet </servlet-class> <! -معلمات التهيئة المحددة-> <INIT-PARAM> <PARAM-NAME> SAVEPTH </param-name> <param-value> التحميلات </param-value> </IPAR-PARAM> </servlet> <lish-file-list> <riled-file> index.jsp </ishified-file> <lispile-file> uploadfile.jsp </iship-file> </simpl-file-list> </web-app>
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.