บทความนี้แบ่งปันรหัสเฉพาะของวิธีที่ Java ได้รับไฟล์ iOS อัปโหลดสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
iOS Multipart/Form-Data Post Request Interface Spring Spring Interface ยังคงมีข้อผิดพลาด หลังจากทำงานสองวันในที่สุดมันก็แก้ไขและสะสม
แพ็คเกจ com.xx.controller; นำเข้า java.io.fileoutputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.util.iterator; นำเข้า java.util.linkedList; นำเข้า Java.Util.list; javax.servlet.http.httpservletResponse; นำเข้า org.apache.commons.fileupload.fileitem; นำเข้า org.apache.commons.fileupload.fileuploadexception; org.apache.commons.fileupload.servlet.servletFileUpload; นำเข้า org.springframework.stereotype.controller; นำเข้า org.springframework.web.bind.annotation.Requestmapping; Import org.springframework org.springframework.web.bind.annotation.responsebody; นำเข้า com.nupaapp.model.filemeta;@controller@requestmapping ("/controller") คลาสสาธารณะ file1controller {linkedList <filemeta> ไฟล์ = LinkedList filemeta filemeta = null; /*************************************************************************************************url:/ส่วนที่เหลือ/คอนโทรลเลอร์/อัปโหลด (): รับไฟล์**@param คำขอ*: multiparthttttservletRequest Auto Passed*@param Response *@throws ioexception*@throws fileuploadexception ***************************************************************************************************************** fileuploadexception {boolean isMultipart = servletFileUpload.ismultipartContent (คำขอ); // ตรวจสอบว่าเป็นรูปแบบไฟล์ประเภท diskfileitemfactory โรงงาน = ใหม่ diskfileitemfactory (); ServletFileUpload SFU = ใหม่ servletFilePilePload (โรงงาน); รายการรายการ = sfu.parserequest (คำขอ); // รับรายการของฟิลด์ที่อัปโหลดทั้งหมดจากการร้องขอ (iterator iter = items.iterator (); iter.hasnext ();) {fileItem fileItem = (fileItem) iter.next (); if (! fileItem.isformfield () && fileItem! = null) {// การตีความไม่ใช่ฟิลด์ฟอร์มธรรมดาหรือไฟล์ // ใช้งานขั้นตอนไฟล์รายการไฟล์เพื่อรับขนาดและเส้นทาง // กำหนดสตริงเส้นทางเอาต์พุตภาพ imgpath = "e:" system.currentTimeMillis () + " // กำหนดอิมเมจสตรีมอินพุต FIN = fileItem.getInputStream (); // กำหนด image output stream fileOutputStream fout = ใหม่ fileOutputStream (imgPath); // เขียนไบต์ไฟล์ [] b = ไบต์ใหม่ [1024]; ความยาว int = 0; ในขณะที่ ((length = fin.read (b))> 0) {fout.write (b, 0, ความยาว); } // ปิดสตรีมข้อมูล fin.close (); fout.close (); }} return "200"; -pom.xml เพิ่ม
<!-สิ่งนี้ใช้สำหรับการทำงานของเครื่องมืออัพโหลดไฟล์-> <pendency> <sderctId> Commons-FileUpload </groupID> <ArtIfactId> Commons-FileUpload </artifactid> <Sersion> 1.3.1 </SidefactId> </การพึ่งพา>
Spring-config.xml เพิ่มถั่ว
<!- การอัปโหลดไฟล์การกำหนดค่า หากคุณไม่ใช้การอัปโหลดไฟล์คุณไม่จำเป็นต้องกำหนดค่า แน่นอนถ้าคุณไม่ตรงกันคุณไม่จำเป็นต้องแนะนำแพ็คเกจการอัปโหลดคอมโพเนนต์ในไฟล์การกำหนดค่า-> <bean id = "MultipartResolver"> <!-การเข้ารหัสเริ่มต้น-> <name property = "defaultEncoding" value = "UTF-8" /> <! หน่วยความจำ-> <property name = "MaxinMemorySize" value = "40960" /> </ebean>
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น