Spring Boot 3.0 + MySQL 8.0 + kkFileView 实现完整文件服务
背景:比较常见的需求,做成公共的服务,后期维护比较简单,可扩展多个存储介质,上传逻辑简单,上传后提供一个文件id,后期可直接通过此id获取到文件,提供下载和预览(三方框架kkFileView),一站式解决,堪称完美。
设计思路:文件上传成功后提供文件ID,文件表记录文件信息,存储路径等,后续操作需提交文件ID。
- 文件上传
- 文件下载
- 文件预览(提供下载 url 至 kkFileView 即可)
建立数据表
DROP TABLE IF EXISTS sys_file_info;
CREATE TABLE `sys_file_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`file_id` varchar(255) DEFAULT NULL COMMENT '文件id',
`original_name` varchar(255) DEFAULT NULL COMMENT '文件原名',
`upload_name` varchar(255) DEFAULT