🎈 1 参考文档
springboot 文件MultipartFile上传路径问题 | 橙熟^ _ ^-优快云(原本采用绝对路径,参考该文章改成相对路径)
🚀2 导入依赖和配置application.yml文件
2.1 在pom.xml中导入依赖
采用了mybatis-plus,需要导入依赖。
<!-- mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
2.2 导入依赖配置application.yml文件
server:
port: 8800
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名?serverTimezone=GMT%2B8
username: root
password: 123456
mybatis-plus:
# mapper扫描
mapper-locations: classpath*:mapper/**/*.xml
configuration:
# 打印sql
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
files:
upload:
# 文件相对路径
path: ./src/main/resources/images/
🚀3 创建数据库表和创建实体类
3.1 创建数据库files表
DROP TABLE IF EXISTS `files`;
CREATE TABLE `files` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '文件id',
`files_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件名称',
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件类型',
`size` double(32, 2) NULL DEFAULT NULL COMMENT '文件大小(KB)',
`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下载链接',
`md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件md5',
`enable` tinyint NULL DEFAULT 1 COMMENT '链接是否可用(1:是 0:否)',
`is_delete` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除(1:是 0:否)',
`create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`update_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `name`(`files_name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文件表' ROW_FORMAT = Dynamic;
3.2 创建实体类Files
@Data
@TableName("files")
public class Files implements Serializable

本文档详细介绍了如何在SpringBoot应用中实现文件上传和下载功能,包括配置application.yml,创建数据库表和实体类,编写Mapper和Service层,以及Controller层的处理。同时,提供了前端Vue+ElementUI的上传和下载组件示例。
最低0.47元/天 解锁文章
5621

被折叠的 条评论
为什么被折叠?



