springboot改文件头_SpringBoot图文教程4—SpringBoot 实现文件上传下载
有天上飞的概念,就要有落地的实现
概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例
文章结尾配套自测面试题,学完技术自我测试更扎实
概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍
大哥大姐新年好,点赞转发不要少
SpringBoot 图文系列教程技术大纲
SpringBoot 图文教程系列文章目录
前言
通过前面三篇的教程,小伙伴们已经可以实现一个web项目了,但是现在项目的功能还有点简单,接下来的文章中将会逐步完善添加新的功能。
文件上传
1.准备上传页面
2.编写控制器
@Controller
@RequestMapping("/file")
public class FileController {
@RequestMapping("/upload")
public String upload(MultipartFile aa, HttpServletRequest request) throws IOException {
//获取upload文件夹的路径
String realPath = request.getRealPath("/upload");
//将上传的文件写入 upload文件夹 中
aa.transferTo(new File(realPath,aa.getOriginalFilename()));//文件上传
return "index";
}
}
3.修改文件上传大小
#上传时出现如下异常: 上传文件的大小超出默认配置 默认10M
nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (38443713) exceeds the configured maximum (10485760)
在application.properties配置文件中
文件下载
1.提供下载文件链接
corejava.txt
2.开发控制器
@RequestMapping("/download")
public void download(String fileName, HttpServletRequest request, HttpServletResponse response) throws Exception {
//获取upload文件夹的路径
String realPath = request.getRealPath("/upload");
//通过流读取文件
FileInputStream is = new FileInputStream(new File(realPath, fileName));
//获得响应流
ServletOutputStream os = response.getOutputStream();
//设置响应头信息
response.setHeader("content-disposition","attachment;fileName="+ URLEncoder.encode(fileName,"UTF-8"));
//通过响应流将文件输入流读取到的文件写出
IOUtils.copy(is,os);
//关闭流
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
}
总结
恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。
让我们再次回顾本文的学习目标
掌握SpringBoot中文件上传和文件下载的使用
要掌握SpringBoot更多的用法,请持续关注本系列教程。
下面体贴的我给朋友萌还准备了一些 自测面试题和项目案例,希望你能够成热打铁,将知识夯扎实。
上期自测面试题答案
自测面试题(答案见下期)
SpringMvc 文件上传的步骤
SpringMvc 文件下载的步骤
上期自测实现项目小案例答案
自测实现项目小案例(答案见下期)
本次需求:
练习文中demo
求关注,求点赞,求转发
springboot改文件头_SpringBoot图文教程4—SpringBoot 实现文件上传下载相关推荐
- springboot改文件头_SpringBoot配置文件常用配置示例
SpringBoot配置文件 flyway.baseline-description 执行基线时标记已有Schema的描述. flyway.baseline-on-migrate 在没有元数据表的情况 ...
- springboot改文件头_SpringBoot中实现文件上传下载的三种解决方案(推荐)
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...
- struts2教程(8)--文件上传下载
Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...
- springboot处理参数再转发请求_SpringBoot图文教程6—SpringBoot中过滤器的使用
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文系列教程技术大纲 SpringBoot 图文教程系列文章 ...
- springboot文件上传和下载工具_SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有...
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot文件上传下载以及优化过程 -- 个人笔记
Java IO/NIO/AIO的知识体系图 博主最开始是用IO实现文件上传下载功能,但发现效率慢,于是使用了NIO 新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的,弥补了原来的 I/O ...
- springboot文件上传下载实战 ——文件上传、下载、在线打开、删除
springboot文件上传下载实战 文件上传 文件上传核心 UserFileController 文件上传测试 文件下载与在线打开 文件下载.在线打开核心 UserFileController 文件 ...
- springboot文件上传下载实战 —— 登录功能、展示所有文件
springboot文件上传下载实战 创建项目 pom.xml 数据库建表与环境准备 建表SQL 配置文件 application.properties 整体架构 前端页面 登录页面 login.ht ...
- springboot:实现文件上传下载实时进度条功能【附带源码】
0. 引言 记得刚入行的时候,做了一个文件上传的功能,因为上传时间较久,为了用户友好性,想要添加一个实时进度条,显示进度.奈何当时技术有限,查了许久也没用找到解决方案,最后不了了之. 近来偶然想到这个 ...
最新文章
- 耗材领用登记系统php_简单说一说,实验室管理系统LIMS系统功能描述吧
- Druid:数据库连接池实现技术
- grep从文件末尾开始找_c++ 开始之旅
- qui ajax,Ajax Fils de T Lamon
- Mozilla计划向Firefox浏览器中添加违规警告
- Python 获取MySql某个表所有字段名
- pycharm/pytorch OSError: 页面文件太小,无法完成操作(改变虚拟内存大小)
- sql练习(针对Mysql)
- 【随笔】About QWERTY
- uploadify.js
- mysql INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;
- 一起谈.NET技术,巨大转变!ASP.NET MVC2调用AJAX新特征
- 线程--匿名内部类实现多线程的2种方式
- 安装LaTex(图文教程)
- python闯红灯检测斑马线检测红绿灯检测车速检测车流量统计车牌识别智慧交通系统
- TCP/IP、Http的区别--(转自任智康)
- String的常用方法
- 计算机网络释疑与解答第六版 pdf,计算机网络释疑与习题解答第5版.pdf
- HLS流媒体服务器对性能要求,搭建hls直播流媒体服务器有什么要求?
- properties配置文件乱码问题
热门文章
- java输入流的控制_Java-Android-IO流-控制台输入输出
- java上传与下载文件_java实现文件的上传和下载功能
- 计算机还是数学竞赛内容吗,除了AMC,数学牛娃还能参加什么高含金量的数学竞赛...
- eggjs的参数校验模块egg-validate的使用和进一步定制化升级
- springcloud(九):配置中心和消息总线(配置中心终结版)
- MapReduce执行WordCount操作
- 利用MiddleGen-hibernate-r5生成hbm文件及POJO文件
- EasyUI——实现展示后台数据代码
- shell变一些小技巧
- 园区交换网络和路由网络综合设计,测试完工啦