ในการพัฒนาเว็บของเราหลายครั้งที่เราต้องอัปโหลดบางไฟล์จากเครื่องไปยังเว็บเซิร์ฟเวอร์
ตัวอย่างเช่น: ระบบ BBS เมื่อผู้ใช้ใช้ระบบนี้พวกเขาสามารถอัปโหลดรูปภาพและเอกสารของเครื่องไปยังเซิร์ฟเวอร์ได้ จากนั้นผู้ใช้รายอื่นสามารถดาวน์โหลดไฟล์เหล่านี้ได้ดังนั้นด้วยวิธีนี้เราสามารถตั้งโปรแกรมการอัปโหลดไฟล์ด้วยตัวเอง
แต่วิธีที่ดีกว่าคือการใช้ส่วนประกอบที่มีอยู่เพื่อช่วยให้เราใช้ฟังก์ชั่นการอัปโหลดนี้
ส่วนประกอบการอัปโหลดทั่วไป:
commons fileupload โดย apache
uploadbean ของ Javazoom
jspsmartupload
upload.jsp
รหัส;
<%@ page language = "java" contentType = "text/html; charset = utf-8"%> <html> <head> <title> โดยใช้คอมมอนส์อัปโหลดเพื่ออัปโหลดไฟล์ </title> </head> <style>* {font-family: "安体";; FONT-SIZE: 14PX} </style> <body> <p allign = "center"> โปรดเลือกไฟล์ที่คุณต้องการอัปโหลด </p> <form id = "form1" name = "form1" method = "post" action = "servlet/fileservlet" <td> <tdload name = "name" type = "text" id = "name" size = "20"> </td> </tr> <tr> <td> อัปโหลดไฟล์: </td> <td> <name อินพุต = "ไฟล์" type = "file" size = "20"> </td> type = "reset" name = "reset" value = "Reset"> </td> </tr> </table> </form> </body> </html>FileUploadServlet.java รหัส:
/***/แพ็คเกจ com.b510.example; นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า java.util.*; นำเข้า Javax.servlet.servletConfig; นำเข้า javax.servlet.servletContext; javax.servlet.http.httpservletrequest; นำเข้า Javax.servlet.http.httpservletResponse; นำเข้า org.apache.commons.fileupload.fileitem; นำเข้า org.apache.Commons.fileupload org.apache.commons.fileupload.disk.diskfileitemfactory; นำเข้า org.apache.commons.fileupload.servlet.servletfileupload;/** * @author xhw * * @date 2011-7-26 * * -7744625344830285257L; ServletContext ส่วนตัว SC; สตริงส่วนตัว SavePath; โมฆะสาธารณะ DOGET (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {dopost (คำขอ, การตอบสนอง); } public void init (servletConfig config) {// พารามิเตอร์การเริ่มต้นที่บันทึกไว้ใน web.xml = config.getInitParameter ("savepath"); sc = config.getServletContext (); } โมฆะสาธารณะ dopost (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {request.setcharacterencoding ("UTF-8"); โรงงาน DiskFileItemFactory = ใหม่ diskfileitemfactory (); ServletFileUpload Upload = ใหม่ servletFilePilePload (โรงงาน); ลอง {list itten = upload.parserequest (คำขอ); ตัววนซ้ำ itr = items.iterator (); ในขณะที่ (itr.hasnext ()) {fileItem item = (fileItem) itr.next (); if (item.isformfield ()) {system.out.println ("ชื่อพารามิเตอร์ฟอร์ม:" + item.getfieldName () + ", ค่าพารามิเตอร์ฟอร์ม:" + item.getString ("UTF-8")); } else {ถ้า (item.getName ()! = null &&! item.getName (). equals ("")) {system.out.println ("อัปโหลดขนาดไฟล์:" + item.getSize ()); System.out.println ("อัปโหลดประเภทไฟล์:" + item.getContentType ()); // item.getName () ส่งคืนชื่อพา ธ แบบเต็มของไฟล์ที่อัปโหลดบนไคลเอนต์ System.out.println ("อัปโหลดชื่อไฟล์:" + item.getName ()); ไฟล์ tempfile = ไฟล์ใหม่ (item.getName ()); // อัปโหลดไฟล์บันทึกไฟล์ไฟล์ = ไฟล์ใหม่ (sc.getRealPath ("/") + savepath, tempfile.getName ()); item.write (ไฟล์); request.setAttribute ("upload.message", "อัปโหลดไฟล์สำเร็จ!"); } else {request.setAttribute ("upload.message", "ไม่เลือกไฟล์อัปโหลด!"); }}}}} catch (fileuploadexception e) {e.printstacktrace (); } catch (exception e) {e.printstacktrace (); request.setAttribute ("upload.message", "อัปโหลดไฟล์ล้มเหลว!"); } request.getRequestDispatcher ("/uploadResult.jsp"). forward (คำขอ, การตอบกลับ); -uploadResult.jsp รหัส:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! doctype html สาธารณะ "-// w3c // dtd html 4.01 transitional // en"> <html> <head> content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "หมดอายุ" content = "0"> <meta http-equiv = "คำหลัก" rel = "stylesheet" type = "text/css" href = "styles.css" rel = "nofollow ภายนอก"> -> </head> <body> $ {requestscope ['upload.message']} <a href = "upload/uploadfile.jsp" rel = "web.xml
<servlet> <sention> นี่คือคำอธิบายขององค์ประกอบ j2ee ของฉัน </คำอธิบาย> <pramplay-name> นี่คือชื่อที่แสดงขององค์ประกอบ J2ee ของฉัน </display-name> <servlet-name> fileuploadservlet </servlet-name> <servlet-class> com.b510.example.fileuploadservlet -พารามิเตอร์การเริ่มต้นการเริ่มต้น-> <init-Param> <param-Name> SADPATH </param-name> <param-value> uploads </param-value> </init-param> </servlet> <servlet-mapping>
บทความนี้ได้รวบรวมไว้ใน "สรุปเทคนิคการดำเนินการอัพโหลด Java" และทุกคนยินดีที่จะเรียนรู้และอ่าน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น