diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java index d4d03b5..ef9c50d 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java @@ -165,6 +165,9 @@ public class SchisandraOssMinioController { @GetMapping("listDir") public Result listMinioInfo(@RequestParam String userId, @RequestParam String dirName, @RequestParam String bucket) throws Exception { Preconditions.checkNotNull(userId, "不能为空"); + if ((dirName==null)||(dirName.equals(""))){ + dirName = "/"; + } MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); List object = (List) caffeineUtil.caffeineBuild().getIfPresent("MinioListDir" + userId + bucket + dirName); @@ -236,6 +239,9 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(filePath, "不能为空"); int index = filePath.lastIndexOf("/"); String fileName = filePath.substring(0,index + 1); + if ((fileName==null)|| ("".equals(fileName))){ + fileName="/"; + } caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + fileName); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); @@ -252,16 +258,19 @@ public class SchisandraOssMinioController { */ @PostMapping(value = "uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public Result uploadMinioFile(SchisandraOssMinioDTO schisandraOssMinioDTO, @RequestParam MultipartFile file) throws IOException { + String dirname=schisandraOssMinioDTO.getPath(); String path = schisandraOssMinioDTO.getPath(); String bucket = schisandraOssMinioDTO.getBucketName(); String userId = schisandraOssMinioDTO.getUserId(); Preconditions.checkNotNull(bucket, "bucket不能为空"); Preconditions.checkNotNull(userId, "userId不能为空"); - if (path == null || "".equals(path)) { + if ((path == null) ||("".equals(path))) { path = "/"; + dirname="/"; } if (path.lastIndexOf("/") < path.length() - 1) { path = path + "/" + file.getOriginalFilename(); + dirname=dirname+"/"; } path=path+file.getOriginalFilename(); // 获取文件输入流 @@ -280,7 +289,7 @@ public class SchisandraOssMinioController { map.put("time", formattedDate); if (bean.upLoad(is, path, true) != null) { redisUtil.setNx(key, map, 30L, TimeUnit.DAYS); - caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + schisandraOssMinioDTO.getPath()); + caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + dirname); return Result.ok(); } else { return Result.fail(); @@ -303,6 +312,9 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(oldFileName, "不能为空"); Preconditions.checkNotNull(newFileName, "不能为空"); String path = oldFileName.substring(0, oldFileName.lastIndexOf("/") + 1); + if ((path == null )||("".equals(path))) { + path="/"; + } MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); try { @@ -331,6 +343,9 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(newFilePath, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); String path = oldFilePath.substring(0, oldFilePath.lastIndexOf("/") + 1); + if ((path==null)|| ("".equals(path))){ + path="/"; + } bean.getMinioOssConfig().setBucketName(bucket); try { bean.copy(oldFilePath, newFilePath);