celery-file-assistant结合多种平台的文件助手

联合创作 · 2023-09-30 00:27

File 助手 - 是一个自研实现的Spring Boot Stater。结合多种文件存储平台实现文件上传、下载、预览。


主要特性



  • 基于成熟包扩展,没有任何框架变动,只为简化开发使用

  • 配置简单灵活,无需复杂的配置文件:开发者配置模式后,统一方法实现上传、下载、预览


使用指引


引入依赖



implementation("cool.doudou:file-assistant:latest")

使用方式



上传文件大小,需要引入profiles:file


  • 单个文件:10MB

  • 总上传数据:50MB



spring:
profiles:
include: file


文件存储方式


  • local:存储在服务器本地

  • gridFS:存储在MongoDB的GridFS文件模块

  • aliYun:存储在阿里云OSS

  • monIO:存储在MonIO



file:
storage-mode: local

属性配置


Local配置



file:
local:
path: /home/assets/file

GridFS配置



file:
grid-fs:
server-uri: mongodb://admin:1234.abcd@127.0.0.1:27017
database: files
bucket-name: default

AliYun配置



file:
ali-yun:
endpoint: https://oss-cn-hangzhou.aliyuncs.com
access-key-id: admin
access-key-secret: 1234.abcd
bucket-name: default

MinIO配置



file:
min-io:
endpoint: http://127.0.0.1:9000
access-key: admin
secret-key: 1234.abcd
bucket-name: default

方法说明



public interface FileHelper {
/**
* 上传
*
* @param file 文件
* @return FileResult
*/
FileResult upload(MultipartFile file);

/**
* 上传
*
* @param file 文件
* @param category 类别
* @return FileResult
*/
FileResult upload(MultipartFile 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);
}
浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报