public class DownServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
resp.setContentType("application/force-download");//協議設置1
String fileName = "1.jpg";
InputStream fin = DownServlet.class.getClassLoader().getResourceAsStream(fileName);
fileName = "我的圖片.jpg";
fileName = URLEncoder.encode(fileName,"UTF-8");//如果不編碼,瀏覽器中顯示的文件名是亂碼
resp.setHeader("Content-Disposition","attachment;filename=\""+fileName+"\"");//協議設置2 ---告訴瀏覽器,當前所下載文件的文件名
//FileInputStream fin = new FileInputStream(fileName);
OutputStream out = resp.getOutputStream();
byte buf[] = new byte[512];
int len=0;
while( (len=fin.read(buf))!=-1){
out.write(buf, 0, len);
}
}
}
注意上例中圖片1.jpg的存放位置是在src目錄下的。