加载中…
正文 字体大小:

spring mvc下载文件

(2012-02-13 21:01:48)
标签:

杂谈

  res.setContentType("text/html; charset=utf-8");
  
  String docname = URLDecoder.decode(req.getParameter("docname"), "UTF-8");  

  String newName = req.getParameter("newname");

  
  // res.setCharacterEncoding("utf-8");
  res.setContentType("application/vnd.ms-excel");
  // res.setCharacterEncoding("gb2312");
  res.setHeader("Content-disposition", "attachment;filename="+ new String(docname.getBytes(), "iso-8859-1"));//下载页一直在浏览器端乱码,转成iso-8859-1后问题解决,估计浏览器与服务端的默认编码为iso-8859-1(tomcat的默认编码也为iso-8859-1

  DataOutputStream dos = new DataOutputStream(res.getOutputStream());

  String uploadDir = "upload";
  File dir = new File(uploadDir);

//以流的方式读写文件

  InputStream is = null;

  BufferedInputStream reader = null;

  try {
   is = new FileInputStream(new File(dir.getAbsolutePath()
     + File.separator + newName));
   reader = new BufferedInputStream(is);
   byte[] content = new byte[40960];

   int i = -1;
   while ((i = reader.read(content)) != -1) {
    dos.write(content, 0, i);
   }
   dos.flush();
  } finally {
   reader.close();
   is.close();
  }

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有