SpringBoot 实现文件上传
在 Service 业务层接口中增加一个上传文件的方法
因为文件并不是上传至数据库中,所以不需要编写 Dao 数据接口层相关的代码
public interface XxxService {
...
R upload(MultipartFile file);
}
在 Impl 实现类中实现这个方法
public class XxxServiceImpl implements XxxService {
...
@Override
public R upload(MultipartFile file) {
// 对文件判空
if (file.isEmpty()) {
return R.error("文件为空");
// 返回一个 R 类型给前端
// R 为规定数据格式的统一返回对象
}
String originalFileName = file.getOriginalFilename();
// ↑ 获取文件的名称
String fileName = System.currentTimeMillis() + "." + originalFileName.substring(originalFileName.lastIndexOf(".") + 1);
// ↑ 以当前时间戳对文件进行重命名,并保存文件名后缀
String filePath = "/home/hsk/tempdownload/";
// ↑ 设定文件的所要上传的服务器路径
File dist = new File(filePath + fileName);
// ↓ 对文件路径判空
if (!dist.getParentFile().exists()) {
dist.getParentFile().mkdirs();
// ↑ 若文件路径不存在则创建
}
try {
// ↓ 上传文件
file.transferTo(dist);
} catch (Exception e) {
e.printStackTrace();
return R.error("上传失败");
}
return R.success("上传成功");
}
}
Controller 表现层实现
这里为了方便没有写测试类,直接在 Controller 包下新建了 UploadTestContoller:
package com.example.xxx.controller;
import ...
@RestController
@RequestMapping("/upload")
public class UploadTestController {
@Autowired
private XxxService xxxService;
// ↓ 使用 put 方法上传
@PutMapping
private R upload(@RequestParam("file") MultipartFile file) {
return xxxService.upload(file);
// 所返回的是一个 R 对象
}
}
测试
使用例如 Postman 等测试工具,我这里用的是 Apifox

看一下本地的目录:

上传成功!
SpringBoot 实现文件上传的更多相关文章
- SpringBoot图文教程4—SpringBoot 实现文件上传下载
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- SpringBoot 整合文件上传 elment Ui 上传组件
SpringBoot 整合文件上传 elment Ui 上传组件 本文章记录 自己学习使用 侵权必删! 前端代码 博主最近在学 elment Ui 所以 前端使用 elmentUi 的 upload ...
- springboot+web文件上传和下载
一.首先安装mysql数据库,开启web服务器. 二.pom.xml文件依赖包配置如下: <?xml version="1.0" encoding="UTF-8&q ...
- SpringBoot(3) 文件上传和访问
springboot文件上传 MultipartFile file,源自SpringMVC MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutS ...
- SpringBoot的文件上传
先在src/main/resources下新建一个static目录用以存放html页面,简单的html页面如下 <!DOCTYPE html> <html> <head& ...
- springBoot的文件上传功能
知识点: 后台:将上传的图片写入指定服务器路径,保存起来,返回上传后的图片路径(在springBoot中,参考博客:http://blog.csdn.net/change_on/article/det ...
- SpringBoot下文件上传与下载的实现
原文:http://blog.csdn.net/colton_null/article/details/76696674 SpringBoot后台如何实现文件上传下载? 最近做的一个项目涉及到文件上传 ...
- Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题
一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...
- springboot 修改文件上传大小限制
springboot 1.5.9文件上传大小限制spring:http:multipart:maxFileSize:50MbmaxRequestSize:50Mb springboot 2.0文件上传 ...
- SpringBoot实现文件上传
前言参考:快速开发第一个SpringBoot应用 这篇文章会讲解如何使用SpringBoot完成一个文件上传的过程,并且附带一些SpringBoot开发中需要注意的地方 首先我们写一个文件上传的htm ...
随机推荐
- Vue Hook 封装通用型表格
一.创建通用型表格的需求 实现一个通用型表格组件,具备以下功能: 动态列配置. 分页功能. 排序功能. 可扩展的行操作功能. 二.设计通用型表格组件 首先,需要设计一个基础的表格组件,它接受列配置.数 ...
- 2、Git之Windows版本的安装
2.1.下载Git 官网下载地址:https://git-scm.com/download/ 最初,Git 是用于管理 Linux 社区的代码,所以在很长的一段时间内,Git 只能安装在 Linux ...
- 【Spring-Security】Re05 权限控制及403处理
一.访问控制方法及控制项: 上述配置中的URL后面都离不开的一个访问控制抉择: 1.全部允许 PermiAll 2.全部拒绝 DenyAll 3.允许匿名访问 Anonymous 也就是普通访问者 4 ...
- NVIDA GPU-SXM和NVIDA GPU-PCIe 两种类型显卡到底哪个性能更高?
相关: 大模型时代该用什么样的显卡 -- 实验室新进两块A800显卡 浅析:NVIDA GPU卡SXM和PCIe之间的差异性 原来SXM类型的显卡比PCIex类型显卡性能要高.PCIE版本是通用接口, ...
- baselines算法库common/vec_env/util.py模块分析
util.py模块代码: """ Helpers for dealing with vectorized environments. """ ...
- 纯css美化滚动条样式
https://www.emperinter.info/2020/09/20/scrollbar-in-browser/ 自己完善自己博客再Ipad等移动端的菜单时选用了左右滑动的菜单模式!当然就会使 ...
- [USACO22FEB] Paint by Rectangles P 题解
前言 没用线段树的小常数.小短码. 题目链接:洛谷. 题意简述 给出 \(n\) 个平行于坐标轴的矩形,各边所在直线互不重合,钦定最外面为白色,对这个平面图黑白染色,分别求黑色块数和白色块数. 题目分 ...
- Java基础之时间类
- plupload附件上传插件IE8问题
前段时间遇到一个plupload上传插件问题,在其他浏览器上面运行很正常,但是就是在IE8上面第一次点击上传按钮无反应,后面再连续点击才ok.我的初始化代码如下 _this.uploader = ne ...
- OpenPCDet为KITTI数据集生成数据信息出现错误TypeError: load() missing 1 required positional argument: ‘Loader‘的解决方案
OpenPCDet为KITTI数据集生成数据信息出现错误 TypeError: load() missing 1 required positional argument: 'Loader' 通过查阅 ...