• javaweb reponse 写出文件



    1. Map map = getSearchValue();
    2. File excelFile = orderService.getexportexcel(id,map);
    3. InputStream is = null;
    4. OutputStream os = null;
    5. BufferedInputStream bis = null;
    6. BufferedOutputStream bos = null;
    7. //以流的形式输出文件
    8. try {
    9. if (excelFile.exists()) {
    10. String fileName = "订单.xls";
    11. is = new FileInputStream(excelFile);
    12. HttpServletResponse response = ServletActionContext
    13. .getResponse();
    14. os = response.getOutputStream();
    15. bis = new BufferedInputStream(is);
    16. bos = new BufferedOutputStream(os);
    17. fileName = java.net.URLEncoder.encode(fileName, "UTF-8");// 处理中文文件名的问题
    18. // fileName = new String(fileName.getBytes("UTF-8"), "GBK");// 处理中文文件名的问题
    19. response.reset();
    20. response.setCharacterEncoding("UTF-8");
    21. response.setContentType("application/ vnd.ms-excel");// 不同类型的文件对应不同的MIME类型
    22. response.setHeader("Content-Disposition",
    23. "attachment; filename=" + fileName);
    24. int bytesRead = 0;
    25. byte[] buffer = new byte[1024];
    26. while ((bytesRead = bis.read(buffer)) != -1) {
    27. bos.write(buffer, 0, bytesRead);// 将文件发送到客户端
    28. }
    29. bos.flush();
    30. }
    31. } catch (Exception e) {
    32. logger.error(e.getMessage(), e);
    33. } finally{
    34. IOUtils.closeQuietly(bis);
    35. IOUtils.closeQuietly(bos);
    36. IOUtils.closeQuietly(is);
    37. IOUtils.closeQuietly(os);
    38. }

  • 相关阅读:
    高精度 模板
    《图论》邻接表
    模板整理
    H
    C
    同余定理的应用(处理大数
    H
    1153: 简易版最长序列
    1152: 二分搜索
    1151: 大整数加法(正数)
  • 原文地址:https://www.cnblogs.com/signheart/p/6597943.html
Copyright © 2020-2023  润新知