zoukankan      html  css  js  c++  java
  • java中使用springmvc实现下载文件

    下载文件具体实现代码:

    public class TestDownload{
      public HttpServletRequest request;
      public HttpServletResponse response;
    
      //下载文件
      public static void downLoadFile(){
        String downloadFileName = "下载后文件名_TEST.xlsx";
    
           FileInputStream inputStream = null;
           OutputStream outputStream = null;
           File file = null;
           try {
               file = new File(getFilePath(request));
               if (!file.exists()) {
                  log.info("日报文件不存在,请重新导出数据");
               } else {
                  inputStream = new FileInputStream(file);
                  response.setContentType("application/txt;charset=utf-8");
                  response.setHeader("Content-Disposition",
                         "attachment;Filename=" + new String(downloadFileName.getBytes("GB2312"), "ISO8859-1"));// 设置下载后文件的名字、防止中文乱码
    
                  outputStream = response.getOutputStream();
                  byte[] bytes = new byte[1024];
                  int len = 0;
                  while ((len = inputStream.read(bytes)) > 0) {
                      outputStream.write(bytes, 0, len);
                  }
               }
          } catch (IOException e) {
                 log.error("文件下载异常:", e);
             } finally {
                 try {
                    if (inputStream != null) {
                        inputStream.close();
                    }
                    if (outputStream != null) {
                        outputStream.close();
                    }
                 } catch (IOException e) {
                    log.error("下载日报中关闭流异常 :{} ", e);
                 }
             }
      }
    //获取服务器文件路径
      private String getFilePath(HttpServletRequest request) {
           String fileName = "服务器文件.xlsx";
           String projectPath = request.getSession().getServletContext().getRealPath("/downloadfile/tset");
           return projectPath + "/" + fileName;
        }
    }

     

  • 相关阅读:
    Zabbix的SNMPTrap监控配置
    Delphi 7下最小化到系统托盘
    解决来QQ消息后歌曲音量降低问题
    转载——用Mixer API函数调节控制面板的音频设置
    git branch -D 大写的D 删除分支
    gitlab+TortoiseGit中使用SSH
    SQL 高级查询
    正则表达式校验文件路径
    显示所选择文件的路径地址
    Type InvokeMember()用法简介
  • 原文地址:https://www.cnblogs.com/whx20100101/p/10519381.html
Copyright © 2011-2022 走看看