當然這只是個最簡單的範例,其餘應用就靠各位自己發揮吧
首先在 JSP 或 HTML 可以用一個連結或是 form 請求後進入後台處理
以下為我以 C 槽的檔案進行下載
package fsc.regLogIdent.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class getFile extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { java.io.File file = new java.io.File("C:\\bike_up.jpg"); //建立需下載檔案的 File 物件 long length = file.length(); //取出該檔案長度 java.io.FileInputStream fi = new java.io.FileInputStream(file); //建立該檔案的輸入串流 //取得客戶端的輸出流, 這邊以 OutputStream 為輸入串流的物件 java.io.OutputStream os = response.getOutputStream(); //設定 response 封包中的標頭 response.setHeader("Content-Disposition", "attachment; filename=" + "bike_up.jpg"); //設定欲下載檔案的 ContentType response.setContentType("image/jpeg"); //設定該檔案的長度 response.setHeader("Content_Length", Long.toString(length)); int r = 0; //將檔案讀入 FileInputStream 並寫入 OutputStream while((r = fi.read()) != -1) { os.write(r); } os.close(); fi.close(); } }
沒有留言:
張貼留言