您的位置:首页 > 其它

兼容浏览器的Servlet下载文件

2012-12-13 18:56 274 查看
String filename = "servlet学习资料.docx";

  if(request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {

      //firefox浏览器

      filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");

     } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){

      //IE浏览器

      filename = URLEncoder.encode(filename, "UTF-8");

     } else {

      filename = URLEncoder.encode(filename, "UTF-8");

     }

  response.setContentType("text/html;charset=utf-8");

  

  response.setHeader("Content-Disposition", "attachment; filename=" + filename);

  

  //把图片读入到内存中

  String path = this.getServletContext().getRealPath("/images/servlet学习资料.docx");

  

  FileInputStream fis = new FileInputStream(path);

  

  OutputStream ops = response.getOutputStream();

  int len = 0;  //实际每次读取了多少字节

  byte[] b = new byte[1024]; //做一个缓冲字节数组

  while ((len = fis.read(b)) > 0) {

   ops.write(b, 0, len);

  }

  

  ops.close();

  fis.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: