File助手 - 简化配置,注解带飞!
配置灵活,基于GridFs||AliyunOSS||MiniIO包,没有改变任何框架结构,只为简化; 简单注解,即可实现文件操作
implementation("cool.doudou:file-assistant-boot-starter:latest")
上传文件默认大小
- 单个文件:1MB
- 总上传数据:10MB
spring:
servlet:
multipart:
# 设置单个文件大小
max-file-size: 50MB
# 设置总上传的数据大小
max-request-size: 100MB
文件存储方式
- local:存储在服务器本地
- gridFS:存储在MongoDB的GridFS文件模块
- aliYun:存储在阿里云OSS
- monIO:存储在MonIO
file:
storage-mode: local
file:
local:
path: /home/assets/file
依赖spring自动注入MongoClient、GridFSBucket,配置属性如下:
implementation("org.mongodb:mongo-java-driver:3.12.11")
file:
grid-fs:
server-uri: mongodb://admin:[email protected]:27017
database: files
bucket-name: default
依赖spring自动注入OSS,配置如下:
implementation("com.aliyun.oss:aliyun-sdk-oss:3.14.0")
file:
ali-yun:
endpoint: https://oss-cn-hangzhou.aliyuncs.com
access-key-id: admin
access-key-secret: 1234.abcd
bucket-name: default
依赖spring自动注入MinioClient,配置属性如下:
implementation("io.minio:minio:8.4.3")
file:
min-io:
endpoint: http://127.0.0.1:9000
access-key: admin
secret-key: 1234.abcd
bucket-name: default
public interface FileHelper {
/**
* 上传
*
* @param multipartFile 表单格式文件
* @return FileResult
*/
FileResult upload(MultipartFile multipartFile);
/**
* 上传
*
* @param file 文件
* @return FileResult
*/
FileResult upload(File file);
/**
* 上传
*
* @param multipartFile 表单格式文件
* @param category 类别
* @return FileResult
*/
FileResult upload(MultipartFile multipartFile, String category);
/**
* 上传
*
* @param file 文件
* @param category 类别
* @return FileResult
*/
FileResult upload(File file, String category);
/**
* 下载
*
* @param key 键值
* @param response 请求响应
*/
void download(String key, HttpServletResponse response);
/**
* 下载
*
* @param key 键值
* @param category 类别
* @param response 请求响应
*/
void download(String key, String category, HttpServletResponse response);
/**
* 预览
*
* @param key 键值
* @param response 请求响应
*/
void preview(String key, HttpServletResponse response);
/**
* 预览
*
* @param key 键值
* @param category 类别
* @param response 请求响应
*/
void preview(String key, String category, HttpServletResponse response);
/**
* 删除
*
* @param key 键值
* @return true-成功;false-失败
*/
boolean delete(String key);
/**
* 删除
*
* @param key 键值
* @param category 类别
* @return true-成功;false-失败
*/
boolean delete(String key, String category);
}
欢迎提出宝贵意见,不断完善 File-Assistant