欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
我们在做项目的时候很多时候会涉及到操作文件的步骤,今天我们就来讲讲如何实现Springboot文件上传与下载。
解决方案
话不多说,我们直接上代码。
首先是添加依赖:
```
在application.properties文件里添加如下内容:
```文件大小阈值,当大于这个阈值时将写入到磁盘,否则在内存中。默认值为0设置上传文件总大小为100MB
然后是文件上传的代码:
### 下面是文件上传Controller的代码定义文件存放的父文件夹路径判断上传文件是否为空,若为空则返回错误信息上传失败";获取文件原名获取源文件前缀获取源文件后缀将源文件前缀之后加上时间戳避免重名得到上传后新文件的文件名创建一个新的File对象用于存放上传的文件上传成功";以及文件上传的html代码单文件上传提交">
最后是文件下载的代码:
###如下是文件下载的Controller代码当然filename在实际的使用中不会被写死,但是在这里演示就直接写死吧通过response输出流将文件传递到浏览器、获取文件路径文件";构建一个文件通过Paths工具类获取一个Path对象判断文件是否存在存在则下载通过response设定他的响应类型获取文件的后缀名设置contentType ,只有指定contentType才能下载添加http头信息因为fileName的编码格式是UTF-8 但是http头信息只识别 ISO8859-1 的编码格式因此要对fileName重新编码使用 Path 和response输出流将文件输出到浏览器
我们的目的就达成啦!
结语
具体代码的意思到在代码中给了注解的哦,希望能够帮助到你们哦。
更多精彩文章:
where2go 团队
微信号:算法与编程之美

长按识别二维码关注我们!
温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!