当前位置: 首页 > news >正文

SpringBoot获取resources文件夹下文件并且实现下载

前言:将需要频繁下载,并且又不会被轻易修改的文件,放在resources目录下,这样就可以直接获取文件流;

一丶放置目录

二丶代码实现

@Controller
public class TestController {@GetMapping(value = "/test")public void test(HttpServletResponse response) {FileInputStream fis = null;ServletOutputStream sos = null;try {String fileName = "test.xlsx";//设置响应头response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));String path = "/excel/" + fileName;fis = new FileInputStream(new ClassPathResource(path).getFile());sos = response.getOutputStream();IOUtils.copy(fis, sos);} catch (Exception e) {e.printStackTrace();throw new RuntimeException("模板下载失败!");} finally {try {if (fis != null) {fis.close();}if (sos != null) {sos.flush();sos.close();}} catch (IOException e) {e.printStackTrace();}}}
}

结尾:喜欢的朋友点个赞吧!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视频懒加载
  • 深入理解 Go 的 init 函数:以 GORM 数据库连接为例
  • [SWPUCTF 2021 新生赛]include
  • Arrays类、Random类和包装类(8大基本数据类型)的用法
  • 加密软件有哪些常见的安全特性
  • Linux驱动开发—设备树分析:GPIO,中断,时钟信息,CPU信息
  • Postgresql数据库中通过函数实现将不确定列的数据插入到表中
  • c++中std::endl 和“\n“ 这两个换行符有什么区别
  • uniapp——列表图片加载太多且空间占用太大的处理方法(降低清晰度)
  • git的基本操作和原理
  • MoE-LLaVA: Mixture of Experts for Large Vision-Language Models
  • Elastic Observability 8.15:AI 助手、OTel 和日志质量增强功能
  • Filebeat+Kafka+ELK
  • RabbitMQ再回首--往事如梦
  • 代码随想录算法训练营第45天|LeetCode 115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【5+】跨webview多页面 触发事件(二)
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Flannel解读
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • mysql innodb 索引使用指南
  • React-redux的原理以及使用
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 从0实现一个tiny react(三)生命周期
  • 目录与文件属性:编写ls
  • 深入浏览器事件循环的本质
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #if和#ifdef区别
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Oracle)SQL优化技巧(一):分页查询
  • (论文阅读11/100)Fast R-CNN
  • (十) 初识 Docker file
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (已解决)什么是vue导航守卫
  • (转)关于pipe()的详细解析
  • (轉貼) UML中文FAQ (OO) (UML)
  • .gitignore文件使用
  • .net2005怎么读string形的xml,不是xml文件。
  • @selector(..)警告提示
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [@Controller]4 详解@ModelAttribute
  • [ACP云计算]组件介绍
  • [Algorithm][动态规划][01背包问题][目标和][最后一块石头的重量Ⅱ]详细讲解
  • [Android 数据通信] android cmwap接入点