/*** 下载方法* @param request* @param response* @param storeName 文件在存在位置的名字(需要带着后缀)* @param contentType 下载文件的类型(如果文件类型比较多直接用"multipart/form-data"会自己判断文件类型)* @param realName 用户下载文件的名称* @throws Exception*/public void download(HttpServletRequest request,HttpServletResponse response, String storeName, String contentType,String realName) throws Exception {response.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");BufferedInputStream bis = null;BufferedOutputStream bos = null;//fileUploadPath文件的路径//UpFileRoute.itemFile是保存的目录名称String ctxPath = fileUploadPath+"\\"+UpFileRoute.itemFile+"\\";String downLoadPath = ctxPath + storeName;long fileLength = new File(downLoadPath).length();response.setContentType(contentType);response.setHeader("Content-disposition", "attachment; filename="+ new String(realName.getBytes("utf-8"), "ISO8859-1"));response.setHeader("Content-Length", String.valueOf(fileLength));bis = new BufferedInputStream(new FileInputStream(downLoadPath));bos = new BufferedOutputStream(response.getOutputStream());byte[] buff = new byte[2048];int bytesRead;while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {bos.write(buff, 0, bytesRead);}bis.close();bos.close();}

  

转载于:https://www.cnblogs.com/jianguang/p/5545892.html

spring文件下载记录相关推荐

  1. 我的Spring学习记录(二)

    本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...

  2. Spring 文件下载,出现中文乱码问题

    Spring 文件下载,出现中文乱码问题 @GetMapping("/file/{id}")public ResponseEntity<InputStreamResource ...

  3. java spring文件下载_SpringMVC实现文件上传和下载的工具类

    本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中. 开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成 ...

  4. Spring学习记录(九)---通过工厂方法配置bean

    1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. 1 package com.guigu.spring.factory; 2 3 public c ...

  5. jax-ws 生成soap_在Spring中记录JAX-WS SOAP消息

    jax-ws 生成soap 每当在Spring中使用JAX-WS时,您可能都希望记录传入和传出的SOAP消息-如果仅用于开发过程中的调试. 因此,第一件事就是增加日志级别,对吗? 不幸的是,这将无效. ...

  6. 在Spring中记录JAX-WS SOAP消息

    每当在Spring中使用JAX-WS时,您可能都希望记录传入和传出的SOAP消息-如果仅用于开发过程中的调试. 因此,第一件事就是增加日志级别,对吗? 不幸的是,这将无效. 您将要做的是利用javax ...

  7. spring注解记录

    集中记录spring常见注解 供今后查阅 @ControllerAdvice: ControllerAdvice的定义为: @Target(ElementType.TYPE) @Retention(R ...

  8. spring aop 记录controller层的入参和出参

    日志的重要性在项目中不言而喻, 但是对controller层的出入参一个一个的添加, 将是一个比较枯燥的事情, 可以考虑使用aop来记录. spring项目中的全局异常处理有两种模式,其一是实现Han ...

  9. Spring学习记录

    Spring相关 目录 文章目录 Spring相关 目录 前言 工厂设计模式 静态工厂模式 通用工厂模式 ApplicationContext ClassPathXmlApplicationConte ...

最新文章

  1. TODO:Github的使用技巧之同步代码
  2. MS SQL Server存储过程
  3. 数据结构笔记 递推与迭代
  4. 皮一皮:美甲的最高境界...
  5. Dubbo整合hystrix
  6. linux校园网电脑开wifi密码,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
  7. 『Python』__getattr__()特殊方法
  8. Exchange端口列表
  9. python 内置模块 subprocess
  10. 还看不懂同事的代码?Lambda 表达式、函数接口了解一下
  11. 2017.0713.《计算机组成原理》-汉明码
  12. 最常使用Eclipse快捷键
  13. 学生免费获取PyCharm专业版
  14. css层叠优先级,CSS样式的优先级(层叠)
  15. Linux——安装英伟达Nvidia驱动
  16. 全同态加密研究资源汇总
  17. UML建模与软件开发设计(六)——类图设计与类之间的关系
  18. 摄像头8mm可以看多远_摄像头焦距怎么选
  19. Java垃圾收集学习笔记
  20. 艾伟也谈项目管理,工作感言:任务分配及管理

热门文章

  1. iOS正则表达式验证
  2. MariaDB 求和,最大值,最小值,平均数
  3. sudo出现sudo:must be setuid root问题的解决方法
  4. PyCharm的隐藏技巧(Tips)-快捷键等积累
  5. ecshop数据表结构说明
  6. Linux中的Screen命令使用技巧详解
  7. leetcode算法题--Bulls and Cows
  8. leetcode算法题--顺时针打印矩阵
  9. android 开发数字键盘,Android 仿「微信」自定义数字键盘
  10. excel另存为没有dbf_PDF转Excel怎么做的?节省工作时间,你要学会的办公技巧