ดาวน์โหลดไฟล์ Javaweb
อย่าพูดว่าดาวน์โหลดด้วยแท็ก <a> สิ่งนี้จะเปิดไฟล์แทนการดาวน์โหลด
ตัวอย่างเช่น:
<a href = "e: /mydesktop/37fecd65330184de67d419a8d02e7081.jpg"> ดาวน์โหลด </a>
ถ้าฉันเขียนด้วยวิธีนี้เบราว์เซอร์จะเปิดภาพโดยตรงเว้นแต่ว่าเป็นไฟล์ที่ไม่สามารถเปิดได้โดยเบราว์เซอร์
ดังนั้นเรายังต้องใช้ Java เองเพื่ออ่านและเขียนไฟล์เพื่อดาวน์โหลดไฟล์
<a href = "downloadfile? filename = <s: ค่าคุณสมบัติ = 'document_filename'/>"> ดาวน์โหลด </a>
แพ็คเกจ com.cpsec.tang.chemical.action; นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.filenotfoundexception; นำเข้า Java.io.fileoutputstream; นำเข้า Java.io.ioException; java.text.simpledateFormat; นำเข้า java.util.calendar; นำเข้า java.util.list; นำเข้า java.util.random; นำเข้า javax.annotation.resource; นำเข้า Javax.servlet.http.httpservletRequest; org.apache.struts2.servletactionContext; นำเข้า org.springframework.steretype.controller; นำเข้า com.cpsec.tang.chemical.biz.documentbiz; นำเข้า com.cpsec.tang.cemical.entity.document; com.opensymphony.xwork2.actionsupport; @Controller ("documentAction") DocumentAction ระดับสาธารณะขยายการกระทำ actionsUpport {ชื่อไฟล์สตริงส่วนตัว; Public String downloadfile () {system.out.println (ชื่อไฟล์); ลอง {httpservletResponse response = servletactionContext.getResponse (); // ตั้งค่าไฟล์ mime response.setContentType (servletActionContext.getServletContext (). getMimeType (ชื่อไฟล์)); // ตั้งค่าการตอบสนองต่อเนื้อหา-การตอบสนอง Setheader ("เนื้อหา-การจัดสรร", "เอกสารแนบ; filename ="+ชื่อไฟล์); // รับพา ธ สัมบูรณ์ของสตริงไฟล์เป้าหมาย fullFileName = servletActionContext.getServletContext (). getRealPath ("/ไฟล์/" + ชื่อไฟล์); //system.out.println(fullfilename); // อ่านไฟล์ inputStream ใน = ใหม่ fileInputStream (fullFileName); // อ่านไฟล์เป้าหมายและเขียนไฟล์เป้าหมายไปยังไคลเอนต์ผ่านการตอบกลับ outputStream out = response.getOutputStream (); // เขียนไฟล์ int b; ในขณะที่ ((b = in.read ())! = -1) {out.write (b); } in.close (); out.close (); } catch (exception e) {e.printstacktrace (); } คืนความสำเร็จ; -ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!