浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ IE专区/ IE相关 /Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码

2019-04-25 09:42:41 编辑:匿名

文件的上传及下载功能是开发人员在日常应用及编程开发中经常会遇到的。正好最近开发需要用到此功能,虽然本人是 Android 开发人员,但还是业余客串了一下后台开发。

在本文中,您将学习如何使用 Spring Boot 实现 Web 服务中的文件上传和下载功能。首先会构建一个 REST APIs 实现上传及下载的功能,然后使用 Postman 工具来测试这些接口,最后创建一个 Web 界面使用 JavaScript 调用接口演示完整的功能。最终界面及功能如下:

Spring Boot 文件上传与下载的示例代码

项目环境

Spring Boot 文件上传与下载的示例代码

项目创建

开发环境为 Intellij IDEA,项目创建很简单,按照下面的步骤创建即可:

File -> New -> Project...

选择 Spring Initializr,点击 Next

填写 Group (项目域名) 和 Artifact (项目别名)

构建类型可以选择 Maven 或 Gradle, 看个人习惯

添加 Web 依赖

输入项目名称及保存路径,完成创建

项目创建完毕之后就可以进行开发,项目的完整结构如下图所示:

Spring Boot 文件上传与下载的示例代码

参数配置

项目创建完成之后,需要设置一些必要的参数,打开项目resources目录下配置文件application.properties,在其中添加以下参数:

Spring Boot 文件上传与下载的示例代码

其中file.upload-dir=./uploads参数为自定义的参数,创建FileProperties.javaPOJO类,使配置参数可以自动绑定到POJO类。

Spring Boot 文件上传与下载的示例代码

然后在@SpringBootApplication注解的类中添加@EnableConfigurationProperties注解以开启ConfigurationProperties功能。

SpringBootFileApplication.java

Spring Boot 文件上传与下载的示例代码

配置完成,以后若有file前缀开头的参数需要配置,可直接在application.properties配置文件中配置并更新FileProperties.java即可。

另外再创建一个上传文件成功之后的Response响应实体类UploadFileResponse.java及异常类FileException.java来处理异常信息。

UploadFileResponse.java

Spring Boot 文件上传与下载的示例代码

FileException.java

Spring Boot 文件上传与下载的示例代码

创建接口

下面需要创建文件上传下载所需的 REST APIs 接口。创建文件FileController.java。

Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码

FileController类在接收到用户的请求后,使用FileService类提供的storeFile()方法将文件写入到系统中进行存储,其存储目录就是之前在application.properties配置文件中的file.upload-dir参数的值./uploads。

下载接口downloadFile()在接收到用户请求之后,使用FileService类提供的loadFileAsResource()方法获取存储在系统中文件并返回文件供用户下载。

FileService.java

Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码

接口测试

在完成上述的代码之后,打开SpringBootFileApplication.java并运行,运行完成之后就可以使用 Postman 进行测试了。

单个文件上传结果:

Spring Boot 文件上传与下载的示例代码

多个文件上传结果:

Spring Boot 文件上传与下载的示例代码

文件下载结果:

Spring Boot 文件上传与下载的示例代码

Web 前端开发

index.html

Spring Boot 文件上传与下载的示例代码

main.css

Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码

main.js

Spring Boot 文件上传与下载的示例代码

Spring Boot 文件上传与下载的示例代码


总结

至此,文件的上传及下载功能已完成。在正式环境中可能还需要将上传的文件存储到数据库,此处按照实际需求去处理即可。

相关推荐

浏览器更新