Java文件的下载(笔记)

public class DownloadServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException{

  //Response.setContentType()参数说明http://rubyq.iteye.com/blog/1408141

  response.setContentType("application/x-msdownload");

  //高速浏览器已下载的形式: 文件下载名xx.jpg
  response.setHeader("Content-Disposition", "attachment;filename=xx.jpg");
  //文件位置
  String src = "C:\\Users\\Administrator\\Desktop\\2.jpg";
  File file = new File(src);
  FileInputStream fis = null;
  ServletOutputStream sos = null;
  try {

  //文件输入流
  fis = new FileInputStream(file);
  sos = response.getOutputStream();

  //允许传输单位字节数
  byte[] b = new byte[1024];
  int i;

  //判断下一次是否还有数据
  while((i=fis.read(b))!=-1){
  sos.write(b, 0, i);
  }
  } catch (Exception e) {
  e.printStackTrace();
  } finally{
  if(fis!=null){
  try {
  fis.close();
  } catch (IOException e) {
  e.printStackTrace();
  }
  }
}
}

}

posted on 2017-03-24 20:54  铭--为将来  阅读(109)  评论(0编辑  收藏  举报