springboot 页面下载文件 网页下载文件功能 文件放resourcce下面

SpringMVC(Springboot)返回文件方法

zhao1949 2018-10-25 09:47:13  6866  收藏 1

https://blog.csdn.net/Lynn_coder/article/details/79953977

*********************************************************

项目需要生成excel表格,然后返回给用户,用户需要下载这个excel表格,所以封装了一下返回文件流的方法

 public ResponseEntity<FileSystemResource> export(File file) { if (file == null) { return null;} HttpHeaders headers = new HttpHeaders();headers.add("Cache-Control", "no-cache, no-store, must-revalidate");headers.add("Content-Disposition", "attachment; filename=" + System.currentTimeMillis() + ".xls");headers.add("Pragma", "no-cache");headers.add("Expires", "0");headers.add("Last-Modified", new Date().toString());headers.add("ETag", String.valueOf(System.currentTimeMillis()));return ResponseEntity .ok() .headers(headers) .contentLength(file.length()) .contentType(MediaType.parseMediaType("application/octet-stream")) .body(new FileSystemResource(file));
}

使用方法很简单,传入file就行了,如果和springmvc结合一下的话,加上conroller,示例代码如下:

 @RequestMapping(value = "export_xls.html", method = RequestMethod.GET) 
public ResponseEntity<FileSystemResource> exportXls() {return export(new File("E:\\mydict.xls"));
}

这段的意思就是返回E盘下的mydict.xls给用户

 

 

 

springboot 获取Resource目录下的文件

如图,获取user.png:

代码实现:

复制代码

//文件路径,此处static前不能加/,否则解析不到
try {//此处的static前不能加/!!!
   file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/images/user.png");...
} catch (FileNotFoundException e) {e.printStackTrace();
}

复制代码

 


 

分类: 【Springboot】

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实现遍历树形菜单方法——实体类VoteTree

package org.entity;import java.util.ArrayList; import java.util.List;/*** * * 项目名称&#xff1a;testTree * 类名称&#xff1a;VoteTree * 类描述&#xff1a; 树形菜单实体类 * 创建人&#xff1a;Mu Xiongxiong * 创建时间&#xff1a;2017-5-23 下午…

idea报错 电脑死机蓝屏

1.删除.idea 2.Maven路径不要在D盘 3.重启idea

在html页面中怎么打印区域,在HTML中指定打印区域进行打印机打印

我们在开发中经常会用到一些指定区域进行打印机打印&#xff0c;但是使用常规方式打印会将全部页面打印&#xff0c;当然相同都为打印&#xff0c;但是打印出来的内容并不是我们需要的东西&#xff0c;进行给大家分享如何设置打印机指定区域进行打印&#xff1b;该标签中的内容…

开源软件那么多,我们该如何选择?|洞见

当我们说起开源软件的时候&#xff0c;想必大家都有丰富的使用经历&#xff0c;小到Node.js的一个组件库&#xff0c;大到一套办公软件如LibreOffice&#xff0c;再如Linux操作系统&#xff0c;可以说无奇不有&#xff0c;浩如烟海。就拿我们常用的Github来说&#xff0c;官方的…

Java 集合框架分析:线程安全的集合

转载自 Java 集合框架分析:线程安全的集合 相关文章&#xff1a; Java 集合框架分析:Set http://blog.csdn.net/youyou1543724847/article/details/52733723 Java 集合框架分析:LinkedList http://blog.csdn.net/youyou1543724847/article/details/52734935 Java 集合框架分…

java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml

<?xml version"1.0" encoding"utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file au…

如何使用计算机远程关闭手机软件,如何使用手机远程遥控电脑关机?手机遥控电脑关机方法图文介绍...

电脑定时关机很正常&#xff0c;但是你试过手机遥控电脑关机吗&#xff1f;或许你有时候很懒&#xff0c;相关电脑如何通过手机遥控关机。现在已经可以实现&#xff0c;简单就可以遥控电脑关机。一个屌丝般的软件&#xff0c;高富帅般的技术&#xff0c;下边详细介绍一下如何使…

MyBatisPlus(笔记)

简介 学习MyBatis-Plus之前要先学MyBatis–>Spring—>SpringMVC 为什么要学它?MyBatisPlus可以节省我们大量的时间,所有CRUD代码都可以自动完成 JPA, tk-mapper ,MyBatisPlus 偷懒用的! 是什么? 官网:https://baomidou.com/ 特性 无侵入&#xff1a;只做增强不做…

Java多线程:线程安全和非线程安全的集合对象

转载自 Java多线程&#xff1a;线程安全和非线程安全的集合对象 一、概念&#xff1a; 线程安全&#xff1a;就是当多线程访问时&#xff0c;采用了加锁的机制&#xff1b;即当一个线程访问该类的某个数据时&#xff0c;会对这个数据进行保护&#xff0c;其他线程不能对其访问…

WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)——所有webapi似乎都缺失的一个功能

最近的工作我在做一个有关于消息发送和接受封装工作。大概流程是这样的&#xff0c;消息中间件是采用rabbitmq&#xff0c;为了保证消息的绝对无丢失&#xff0c;我们需要在发送和接受前对消息进行DB落地。在发送前我会先进行DB的插入&#xff0c;单表插入&#xff0c;所以在性…

java实现遍历树形菜单方法——Dao层

Dao层接口&#xff1a;/** * Title: IVoteTreeDao.java * Package org.dao * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-6 下午10:38:47 * version V1.0 */ package org.dao;import java.util.List;import org.e…

文件损坏 无法删除 怎么使用chkdsk磁盘修复工具

有时候我们会遇到文件无法删除的问题&#xff0c;该如何解决。对于专业人士可能比较简单。对于小白&#xff0c;就够折腾人的了。下面分享下我是怎么做的。 很简单很实用。 现象&#xff1a;此时哪里有损坏&#xff0c;一般会在删除文件时&#xff0c;莫名的提示有文件无法删除…

计算机网络产生的历史背景,网络技术背景及sdn概述.pdf

网络技术背景及sdn概述软件定义网络黄韬北京邮电大学北京邮电大学第1章&#xff1a;背景与概述个人简介个人简介• 黄韬– 信息与通信工程学院– 博士&#xff0c;副教授– 科研方向科研方向&#xff1a;&#xff1a;未来网络未来网络– 教学课程&#xff1a;计算机网络、软件定…

35c3 krautflare

参考这篇文章可以彻底了解本题的漏洞所在 https://xz.aliyun.com/t/6527 由于Math.expm1经过patch以后的返回值不可能是-0&#xff0c;但是patch的地方是在typer优化中&#xff0c;所以实际上如果没有优化的话是可以返回-0的&#xff0c;这就意味着如果我们先不停地Math.expm1…

Java集合框架综述

转载自 Java集合框架综述 集合框架&#xff08;collections framework&#xff09; 首先要明确&#xff0c;集合代表了一组对象&#xff08;和数组一样&#xff0c;但数组长度不能变&#xff0c;而集合能&#xff09;。Java中的集合框架定义了一套规范&#xff0c;用来表示、…

vue项目没有启动成功的原因之一

删除mould。。。本地从新安装

RabbitMQ 高可用集群搭建及电商平台使用经验总结

面向EDA&#xff08;事件驱动架构&#xff09;的方式来设计你的消息AMQP routing key的设计RabbitMQ cluster搭建Mirror queue policy设置两个不错的RabbitMQ plugin 大型应用插件(Sharding、Rederation)Queue镜像失败手动同步各集群配置同步方式&#xff08;RabbitMQ export\i…

java实现遍历树形菜单方法——service层

Service接口&#xff1a; /** * Title: IVoteTreeService.java * Package org.Service * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-5-6 下午10:42:10 * version V1.0 */ package org.Service;import java.util.Li…

谷歌浏览器如何阻止弹窗广告?右下角弹窗一个接一个的弹出 每隔几分钟又来一波 怎么屏蔽?

谷歌浏览器如何阻止弹窗广告&#xff1f;右下角弹窗一个接一个的弹出 每隔几分钟又来一波 怎么屏蔽&#xff1f; 作者&#xff1a;知乎用户 链接&#xff1a;https://www.zhihu.com/question/319190736/answer/645314963 来源&#xff1a;知乎 著作权归作者所有。商业转载请联…