
如何在Spring Boot中上传下载文件
在日常开发工作中,基本上每个项目都会有各种文件上载和下载。 大多数文件是excel文件。 我使用apache POI操作的excel Java API。 稍后我将专门研究POI。 这次我们将不讨论如何操作文件,而仅讨论如何上载和下载文件。
1. 文件的上传
在现在的JavaWeb项目中,与前端进行交互的基本都是SpringMVC框架。Spring专门提供了一个接口MultipartFile,这个接口帮我们简化了从页面到服务端的文件操作,以前我们只能从request里面拿,现在有了这个接口,我们操作起来就会很简单。话不多说,直接上代码。
我们只是模拟文件上传的操作,所以我们从页面上传文件,然后存到电脑桌面。
上面的代码中,不管是单个文件还是多文件都是很简单的,还可以带其他参数DTO。
2. 文件的下载
文件的下载也是很简单的,但是Response头如果没有设置好,就可能下载失败,下载下来也可能是乱码的。但是这些头设置其实很简单,但是每次下载文件的时候都要这么设置一下,其实是很繁琐的,所以在这里我使用了已经封装好的下载API,直接上代码。
首先我们引入jar包:
在这里我引入了一个下载的jar包,这个包可以在maven中央仓库直接找到的。这个下载文件jar包的官网地址:传送门
在下载文件之前我们需要配置一下,创建一个下载器,将下载器交给Spring管理:
DownloadConfig.java:
在这里我们创建了两个下载器,都交给了Spring框架管理。
这两个文件(test.docx和img.jpg)都在类路径下,从浏览器页面调用方法,就会下载,不会乱码也不会下载失败,除非文件不存在。jar包还提供了图片的Base64格式下载。在国内我们只需要调用这个默认的下载方法就可以了。下载的演示我就不演示了,大家可以拉下我的代码看看,觉得我写的东西对你有用,也可以给我点个赞哦。
