Javawebファイルのダウンロード
<a>タグでダウンロードしてはいけませんが、これによりダウンロードする代わりにファイルが開きます
例えば:
<a href = "e:/mydesktop/37fecd65330184de67d419a8d02e7081.jpg">ダウンロード</a>
このように書くと、ブラウザが開くことができないファイルでない限り、ブラウザは画像を直接開きます
したがって、ファイルをダウンロードするには、Java自体を使用してファイルを読み書きする必要があります
<a href = "downloadfile?filename = <s:property value = 'document_filename'/>">ダウンロード</a>
パッケージcom.cpsec.tang.chemical.action; import java.io.file; Import java.io.fileinputStream; Import java.io.filenotfoundexception; Import java.io.fileoutputStream; Import java.io.ioexception; Impative java.io.io.io.io.OutStream; java.text.simpledateformat; import java.util.calendar; import java.util.list; import java.util.random; import javax.annotation.resource; import javax.servlet.servlet.http.httpservletrequest; javax.httptptspptsptptsptptsptpsptptpsptpsptpspest org.apache.struts2.servletactionContext; Import org.springframework.steretype.controller; Import com.cpsec.tang.chemical.biz.documentbiz; Import com.cpsec.tang.chemical.entity.document; com.cps.tang.tang.tang.chemical.chemical.util.til.til.til.till.pager com.opensymphony.xwork2.actionsupport; @controller( "documentaction")public class documentActions extends ActionSupport {private string filename; public String downloadfile(){system.out.println(filename); try {httpservletResponse応答= servletactionContext.getResponse(); //ファイルMIMEタイプResponse.setContentType(ServletactionContext.getServletContext()。getMimeType(filename)); // Content-disposition Response.setheader( "content-disposition"、 "attachment; filename ="+filename); //ターゲットファイル文字列の絶対パスを取得しますfullfileName = servletactionContext.getServletContext()。getRealPath( "/files/" + filename); //system.out.println(fullfilename); // file inputstream in = new FileInputStream(FullFileName); //ターゲットファイルを読み取り、Response outputStream out = respons.getOutputStream()を使用してターゲットファイルをクライアントに書き込みます。 //ファイルint bを書き込みます。 while((b = in.read())!= -1){out.write(b); } in.close(); out.close(); } catch(Exception e){e.printstacktrace(); }成功を返す; }}読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!