Unduh File Javaweb
Jangan katakan mengunduh dengan tag <a>, ini akan membuka file alih -alih mengunduh
Misalnya:
<a href = "e: /mydesktop/37fecd65330184de67d419a8d02e7081.jpg"> Unduh </a>
Jika saya menulis dengan cara ini, browser akan membuka gambar secara langsung kecuali itu adalah file yang tidak dapat dibuka oleh browser
Jadi kita masih perlu menggunakan Java sendiri untuk membaca dan menulis file untuk mengunduh file
<a href = "downloadfile? filename = <s: nilai properti = 'document_filename'/>"> unduh </a>
Paket com.cpsec.tang.chemical.action; impor java.io.file; impor java.io.fileInputStream; import java.io.filenotfoundException; impor impor java.fileOutputStream; impor java.ioException; impor java.io.inputstream; java.text.simpledateFormat; impor java.util.calendar; impor java.util.list; impor java.util.random; javax.annotation.resource; impor javax.servlet.http.httpservletequest; impor javax.servlet. org.apache.struts2.servletactionContext; impor org.springframework.steretype.controller; import com.cpsec.tang.chemical.biz.documentbiz; import com.cpsec.tang.chemical.entity.document; impor com.cpsec.tang.chemical.chemical.entity; impor com.cpsec.tang.chemical.chemical.pager.document; impor com.cpsec.tang.chemical.chemical.pager.pager; Impor com.cpsec.tang.chemical.chemical.pager. com.opensymphony.xwork2.actionsupport; @controller ("DocumentAction") Documentaction kelas publik memperluas ActionSupport {private string fileName; public string downloadfile () {System.out.println (fileName); coba {httpservletResponse response = servletActionContext.getResponse (); // Atur file mime type response.setContentType (servletActionContext.getSerVletContext (). GetMimetype (fileName)); // atur respons disposisi konten.setHeader ("konten-disposisi", "lampiran; fileName ="+fileName); // Dapatkan jalur absolut dari string file target fullFileName = servletActionContext.getSerVletContext (). GetRealPath ("/file/" + fileName); //System.out.println(fullfileName); // Baca file inputStream in = new FileInputStream (fullFileName); // Baca file target dan tulis file target ke klien melalui respons outputStream out = response.getoutputStream (); // tulis file int b; while ((b = in.read ())! = -1) {out.write (b); } in.close (); out.close (); } catch (Exception e) {E.PrintStackTrace (); } mengembalikan kesuksesan; }}Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!