工具类

public static Boolean downloadExcelFile(HttpServletResponse response, String fileName) {OutputStream output;File file = new File(fileName);if (file.exists()) {try {FileInputStream fileInputStream = new FileInputStream(file);BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);byte[] b = new byte[bufferedInputStream.available()];bufferedInputStream.read(b);output = response.getOutputStream();response.setHeader("Content-disposition","attachment; filename=" + DateUtil.getCurrentDate("yyyyMMddHHmmss") +new String("模板文件".getBytes("UTF-8"), "ISO8859-1")+ ".xls");response.setContentType("application/msexcel");output.write(b);output.flush();output.close();return true;} catch (IOException e) {e.printStackTrace();return false;}}else {return false;}}

注意的地方:

文件下载的请求 不能使用 ajax  发送请求 ,否则不会弹出下载框,文件内容会 被全部响应到如图

可以使用 发送请求

location.href=""

java 文件下载 【学习记录】相关推荐

  1. Java设计模式学习记录-解释器模式

    前言 这次介绍另一个行为模式,解释器模式,都说解释器模式用的少,其实只是我们在日常的开发中用的少,但是一些开源框架中还是能见到它的影子,例如:spring的spEL表达式在解析时就用到了解释器模式,以 ...

  2. Java设计模式学习记录-单例模式

    前言 已经介绍和学习了两个创建型模式了,今天来学习一下另一个非常常见的创建型模式,单例模式. 单例模式也被称为单件模式(或单体模式),主要作用是控制某个类型的实例数量是一个,而且只有一个. 单例模式 ...

  3. Java SE 学习记录06

    @学习记录 开始学习Java 遵从同学的指导,从Java se开始学习 黑马的JavaSE零基础入门 day06-01 面向对象 package day06;import java.util.Arra ...

  4. Java SE 学习记录——进阶版11

    @学习记录 开始学习Java 遵从同学的指导,从Java se开始学习 黑马的JavaSE零基础入门[网络编程] 第一章 网络编程入门 1.1 软件结构 22-02 软件结构 1.2 网络通信协议 2 ...

  5. Java注解学习记录(反射也能实现ButterKnife)

    文章目录 什么是注解(Annotation) 注解有什么用 注解怎么用 注解关键字 @interface 注解属性的数据类型 元注解 @Retention @Target @Documented @I ...

  6. java之学习记录 5 - 1 - 模拟拉勾项目介绍与后台系统搭建

    项目架构(此文章只供个人学习的记录) 1 项目介绍 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在这个后台管理系统中,对课程信息.讲师信息. 学员信息等数 ...

  7. Java 基础学习记录

    Java 基础 DAY1 1.关于进制的运算 2.关于存储单元 3.关于CMD的基本命令 4.JRE与JDK 5.Java环境变量 6.程序开发步骤 7.HelloWorld 8.标识符 9.常量 1 ...

  8. java之学习记录 3 - 2 - es6

    ECMAScript6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了. 它的目标,是使得JavaScript ...

  9. Java多线程学习记录

    什么是多线程? 首先操作系统有一种能力叫多任务,看起来可以在同一时间运行多个程序,实际上操作系统会为每个进程分配CPU时间片,给人并行处理的感觉. 多线程在更低一层扩展了多任务的概念:单个程序看起来在 ...

  10. Java基础学习记录(三)

    System: 描述系统一些信息. 获取系统属性信息:Properties getProperties 因为Properties是Hashtable子类,也就是Map集合的一个子类对象. 那么可以通过 ...

最新文章

  1. swig模板 PHP,nodejs前端模板引擎swig入门
  2. 【Protocol Buffer】Protocol Buffer入门教程(四):序列化和反序列化
  3. spring security config
  4. c语言未声明的标识符什么意思_C语言中%d和%f是什么意思啊?
  5. mysql数据库查询的传统句子
  6. echarts横轴展示不全使用滚动条(dataZoom)的方法
  7. POJ-1699 Best Sequence 状态压缩DP
  8. python语法学习第二天--条件与循环
  9. 113. 路径总和 II
  10. JAVA内存管理+String创建字符串对象+常量池详解(合集)
  11. systemback Linux 系统备份、迁移
  12. SSh框架的整合流程
  13. 宏定义的黑魔法 - 宏菜鸟起飞手册
  14. 燕大学子知网使用手册
  15. NVIDIA驱动安装(arm64平台可用)
  16. 联想微型计算机怎么恢复系统,联想一体机系统还原的方法 联想一体机如何还原系统...
  17. 算法小程序:倒水问题
  18. 【免费】多种方法手把手教你如何将自己做的网页做成网络链接(直接访问)
  19. 个人作业 Alpha项目测试
  20. 程序员软考真题__专项:数据结构与算法 02

热门文章

  1. 从paxos到raft zab,为何raft能够“独领风骚”
  2. 进程间通信--命名管道
  3. SAP EWM 代码实现Transportation Unit(TU)的创建
  4. Codeforces 900D Unusual Sequences:记忆化搜索
  5. Mac OS Terminal Commands
  6. GARFIELD@04-09-2005
  7. google ProtoBuf开发者指南
  8. 域名解析和cdn 原理
  9. 使用c#+(datagrid控件)编辑xml文件
  10. DataGrid在分页状态下删除纪录的问题