diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java index 61bef95..ae71213 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java @@ -1,14 +1,28 @@ package com.ruoyi.web.controller.common; +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.FileOperateUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; import com.ruoyi.framework.config.ServerConfig; + import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; @@ -16,15 +30,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.ArrayList; -import java.util.List; /** * 通用请求处理 @@ -151,16 +156,9 @@ public class CommonController { if (!FileUtils.checkAllowDownload(resource)) { throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource)); } - // 本地资源路径 - String localPath = RuoYiConfig.getProfile(); - // 数据库资源地址 - String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX); - // 下载名称 - String downloadName = StringUtils.substringAfterLast(downloadPath, "/"); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, resource); FileOperateUtils.downLoad(resource, response.getOutputStream()); - // FileUtils.writeBytes(downloadPath, response.getOutputStream()); } catch (Exception e) { log.error("下载文件失败", e); } diff --git a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/config/MinioConfig.java b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/config/MinioConfig.java index 7f9c165..fef4ebb 100644 --- a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/config/MinioConfig.java +++ b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/config/MinioConfig.java @@ -1,28 +1,23 @@ package com.ruoyi.middleware.minio.config; -import com.ruoyi.common.annotation.Anonymous; -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.file.FileOperateUtils; -import com.ruoyi.common.utils.file.FileUtils; -import io.minio.*; -import io.minio.errors.*; -import io.minio.messages.Bucket; -import io.minio.messages.Item; -import jakarta.annotation.PostConstruct; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; + import org.apache.http.impl.io.EmptyInputStream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; -import java.io.File; -import java.io.IOException; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUtils; + +import io.minio.BucketExistsArgs; +import io.minio.MinioClient; +import io.minio.PutObjectArgs; +import jakarta.annotation.PostConstruct; @Configuration("MinioConfiguration") @ConditionalOnProperty(prefix = "minio", name = { "enable" }, havingValue = "true", matchIfMissing = false) @@ -61,10 +56,6 @@ public class MinioConfig { return maxSize; } - private void setMaxSize(int maxSize) { - this.maxSize = maxSize; - } - public List getSlaveClientsList() { return slaveClientsList; } diff --git a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/controller/MinioController.java b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/controller/MinioController.java index 45858cd..e298a4a 100644 --- a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/controller/MinioController.java +++ b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/controller/MinioController.java @@ -1,17 +1,20 @@ package com.ruoyi.middleware.minio.controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import com.ruoyi.common.annotation.Anonymous; -import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.middleware.minio.domain.MinioFileVO; - import com.ruoyi.middleware.minio.utils.MinioUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import okhttp3.Headers; -import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/minio") diff --git a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/utils/MinioUtil.java b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/utils/MinioUtil.java index c726fc0..5e71fa7 100644 --- a/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/utils/MinioUtil.java +++ b/ruoyi-middleware/ruoyi-middleware-minio/src/main/java/com/ruoyi/middleware/minio/utils/MinioUtil.java @@ -3,7 +3,6 @@ package com.ruoyi.middleware.minio.utils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.util.List; import org.springframework.web.multipart.MultipartFile; @@ -16,7 +15,6 @@ import com.ruoyi.middleware.minio.config.MinioClientConfig; import com.ruoyi.middleware.minio.config.MinioConfig; import com.ruoyi.middleware.minio.domain.MinioFileVO; import com.ruoyi.middleware.minio.exception.MinioClientErrorException; -import com.ruoyi.middleware.minio.exception.MinioClientNotFundException; import io.minio.GetObjectArgs; import io.minio.GetObjectResponse; @@ -93,27 +91,27 @@ public class MinioUtil { * @param putObjectArgs Minio上传文件参数 * @return 返回上传成功的文件路径 */ - private static String uploadFileIterator(int index, PutObjectArgs putObjectArgs) { - List slaveClientsList = getMinioConfig().getSlaveClientsList(); - if (index >= slaveClientsList.size()) { - throw new MinioClientNotFundException(); - } - try { - MinioClientConfig.MinioClientEntity minioClientEntity = slaveClientsList.get(index); - PutObjectArgs build = PutObjectArgs.builder().contentType(putObjectArgs.contentType()) - .object(putObjectArgs.object()) - .stream(putObjectArgs.stream(), putObjectArgs.stream().available(), -1) - .bucket(minioClientEntity.getDefaultBuket()).build(); - minioClientEntity.getClient().putObject(build); - StringBuilder url = new StringBuilder(); - url.append(MinioConfig.prefix).append("/").append(minioClientEntity.getDefaultBuket()) - .append("?").append("fileName=").append(putObjectArgs.object()) - .append("&").append("clientName=").append(minioClientEntity.getName()); - return url.toString(); - } catch (Exception e) { - return uploadFileIterator(index + 1, putObjectArgs); - } - } + // private static String uploadFileIterator(int index, PutObjectArgs putObjectArgs) { + // List slaveClientsList = getMinioConfig().getSlaveClientsList(); + // if (index >= slaveClientsList.size()) { + // throw new MinioClientNotFundException(); + // } + // try { + // MinioClientConfig.MinioClientEntity minioClientEntity = slaveClientsList.get(index); + // PutObjectArgs build = PutObjectArgs.builder().contentType(putObjectArgs.contentType()) + // .object(putObjectArgs.object()) + // .stream(putObjectArgs.stream(), putObjectArgs.stream().available(), -1) + // .bucket(minioClientEntity.getDefaultBuket()).build(); + // minioClientEntity.getClient().putObject(build); + // StringBuilder url = new StringBuilder(); + // url.append(MinioConfig.prefix).append("/").append(minioClientEntity.getDefaultBuket()) + // .append("?").append("fileName=").append(putObjectArgs.object()) + // .append("&").append("clientName=").append(minioClientEntity.getName()); + // return url.toString(); + // } catch (Exception e) { + // return uploadFileIterator(index + 1, putObjectArgs); + // } + // } /** * 文件上传