เกี่ยวกับวิธีการอัปโหลดรูปภาพใน SpringMVC ตัวแก้ไขได้รวบรวมวิธีการสองวิธีสำหรับคุณเนื้อหาเฉพาะมีดังนี้:
ประเภทแรก: (วางไว้ที่ตำแหน่งที่สอดคล้องกันของที่อยู่ทางกายภาพภายใต้โครงการ)
. วิธีการเขียนเส้นทาง:
String basepath = "/web-inf/resources/upload";
String filePathName = request.getSession (). getServletContext (). getRealPath (basepath);
ข. เส้นทางที่แท้จริง:
d: /workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/xyt/web-inf/resources/upload/image ชื่อ
ค. เส้นทางการเข้าถึง: http: // localhost: 8080/xyt/resources/upload/ชื่อ
d. วิชาบังคับก่อน: ตราบใดที่โครงการนี้สามารถทำงานได้
ประเภทที่สอง: (สร้างเส้นทางเสมือน, กำหนดค่า Server.xml ภายใต้ Tomcat, สร้างเส้นทางการจัดเก็บและเส้นทางการเข้าถึง)
1. การเขียนเส้นทาง:
String filePathName = constant.img_path+file.Saperator+"อัปโหลด";
สถานที่: สตริงสุดท้ายคงที่สาธารณะ img_path = "e: // java // img";
2. การกำหนดค่าพา ธ :
การกำหนดค่า server.xml
<host name = "localhost" appbase = "webapps" unpackwars = "true" autodeploy = "true"> <valve classname = "org.apache.catalina.valves.accesslogvalve" directory = "logs" คำนำหน้า = "localhost_access_log suffix = ". txt" pattern = " %h %l %u %t" %r " %s %b"/> <!-เพิ่ม (บันทึกรูปภาพ)-> <context path = "/upload" docBase = "e:/java/img/upload"
3. เส้นทางจริง: E:/java/img/upload
4. เส้นทางการเข้าถึง: http: // localhost: 8080/อัปโหลด/ชื่อภาพ
5. การอ้างอิง: http://my.oschina.net/pingdy/blog/381001
6. วิชาบังคับก่อน: ต้องเปิดเซิร์ฟเวอร์ Tomcat
ตัวอย่าง: ตัวอย่างการอัปโหลดรูปภาพ: (สามารถอัปโหลดรูปภาพหลายภาพได้)
jsonObject rs = new JsonObject (); CommonsMultipartResolver MultiPartResolver = New CommonsMultipartResolver (request.getSession (). getServletContext ()); string url = "" ถ้า (multipartResolver.ismultipartiPart (multiparthttpservletRequest) คำขอ; iterator <string> iter = multirequest.getFilenames (); ในขณะที่ (iter.hasnext ()) {multipartfile file = multirequest.getFile ((สตริง) iter.next ()); ถ้า (ไฟล์! = null) {สตริงต้นฉบับ filename = file.getoriginalfileName () f.length> 1) {ext = f [f.length-1]; system.out.println (ext);} system.out.println (leweimgtype == null); ถ้า (! leweimgtype.contains (ext.touppercase ())) rs;} // string basepath = "/web-inf/resources/upload"; // string filepathname = request.getSession (). getServletContext (). getRealPath (basepath); string filepathname = constant.img_path+ไฟล์. ไฟล์ localfile = ไฟล์ใหม่ (filePathName); if (! localfile.exists ()) {localfile.mkdir (); } // compressString fname = วันที่ใหม่ (). getTime () + "." + ext; สตริงต้นฉบับ fname = fname.substring (0, fname.indexof (".")) + "_ original." + ext; string filename = filePathName ไฟล์ (ชื่อไฟล์); ไฟล์ของไฟล์ = ไฟล์ใหม่ (OfilEname); ลอง {imagehelper.compress (file.getInputStream (), 600, infile); file.transferto (ofile); // ต้นฉบับอัปโหลดภาพต้นฉบับ jsonobject obj = new jsonObject (); rs.put ("รหัส", contentration.code_success); rs.put ( "err_upload_0001"); rs.put ("msg", "err_upload_0001"); e.printstacktrace (); return rs;}}ข้างต้นเกี่ยวข้องกับการอัปโหลดรูปภาพและเข้าถึง SpringMVC และฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน