feat(storage): 集成MinIO对象存储支持
- 添加MinIO配置属性类MinioProperties - 实现MinIO文件上传服务MinioService - 在CommonController中增加MinIO上传逻辑分支 - 支持单文件和多文件的MinIO上传处理 - 保留原有本地文件上传作为备选方案- 添加MinIO Java SDK依赖到框架模块 - 移除重复的Spring Context依赖声明
This commit is contained in:
@@ -62,10 +62,6 @@
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import com.ruoyi.common.utils.file.FileUtils;
|
||||
import com.ruoyi.framework.config.ServerConfig;
|
||||
import com.ruoyi.framework.config.MinioProperties;
|
||||
import com.ruoyi.framework.service.MinioService;
|
||||
|
||||
/**
|
||||
* 通用请求处理
|
||||
@@ -35,6 +37,12 @@ public class CommonController
|
||||
@Autowired
|
||||
private ServerConfig serverConfig;
|
||||
|
||||
@Autowired(required = false)
|
||||
private MinioService minioService;
|
||||
|
||||
@Autowired(required = false)
|
||||
private MinioProperties minioProperties;
|
||||
|
||||
private static final String FILE_DELIMETER = ",";
|
||||
|
||||
/**
|
||||
@@ -77,9 +85,22 @@ public class CommonController
|
||||
{
|
||||
try
|
||||
{
|
||||
// 上传文件路径
|
||||
if (minioProperties != null && minioProperties.isEnabled())
|
||||
{
|
||||
MinioService.UploadResult result = minioService.upload(file);
|
||||
String fileName = result.getObjectName();
|
||||
String url = result.getUrl();
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax.put("url", url);
|
||||
ajax.put("fileName", fileName);
|
||||
ajax.put("newFileName", FileUtils.getName(fileName));
|
||||
ajax.put("originalFilename", file.getOriginalFilename());
|
||||
return ajax;
|
||||
}
|
||||
|
||||
// 本地上传路径
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
// 上传并返回新文件名称
|
||||
// 本地上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, file);
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
@@ -103,21 +124,37 @@ public class CommonController
|
||||
{
|
||||
try
|
||||
{
|
||||
// 上传文件路径
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
List<String> urls = new ArrayList<String>();
|
||||
List<String> fileNames = new ArrayList<String>();
|
||||
List<String> newFileNames = new ArrayList<String>();
|
||||
List<String> originalFilenames = new ArrayList<String>();
|
||||
for (MultipartFile file : files)
|
||||
if (minioProperties != null && minioProperties.isEnabled())
|
||||
{
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, file);
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
urls.add(url);
|
||||
fileNames.add(fileName);
|
||||
newFileNames.add(FileUtils.getName(fileName));
|
||||
originalFilenames.add(file.getOriginalFilename());
|
||||
for (MultipartFile file : files)
|
||||
{
|
||||
MinioService.UploadResult result = minioService.upload(file);
|
||||
String fileName = result.getObjectName();
|
||||
String url = result.getUrl();
|
||||
urls.add(url);
|
||||
fileNames.add(fileName);
|
||||
newFileNames.add(FileUtils.getName(fileName));
|
||||
originalFilenames.add(file.getOriginalFilename());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 本地上传路径
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
for (MultipartFile file : files)
|
||||
{
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, file);
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
urls.add(url);
|
||||
fileNames.add(fileName);
|
||||
newFileNames.add(FileUtils.getName(fileName));
|
||||
originalFilenames.add(file.getOriginalFilename());
|
||||
}
|
||||
}
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
|
||||
|
||||
@@ -127,6 +127,14 @@ springdoc:
|
||||
paths-to-match: '/**'
|
||||
packages-to-scan: com.ruoyi.web.controller.tool
|
||||
|
||||
# MinIO配置
|
||||
minio:
|
||||
enabled: true
|
||||
endpoint: http://49.232.154.205:10900
|
||||
access-key: 4EsLD9g9OM09DT0HaBKj
|
||||
secret-key: 05SFC5fleqTnaLRYBrxHiphMFYbGX5nYicj0WCHA
|
||||
bucket: rtsp
|
||||
|
||||
# 防止XSS攻击
|
||||
xss:
|
||||
# 过滤开关
|
||||
|
||||
Reference in New Issue
Block a user