當然這只是個最簡單的範例,其餘應用就靠各位自己發揮吧
首先在 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();
}
}
沒有留言:
張貼留言