|
@@ -6,6 +6,7 @@ import api.common.pojo.param.MinioParameter;
|
|
|
import api.common.util.FileUtil;
|
|
|
import api.common.util.ObjectUtil;
|
|
|
import api.common.util.TimeUtil;
|
|
|
+import com.css.simulation.resource.common.configuration.minio.MinioConfiguration;
|
|
|
import com.css.simulation.resource.common.configuration.minio.SubMinioClient;
|
|
|
import com.css.simulation.resource.common.util.MinioUtil;
|
|
|
import io.minio.CreateMultipartUploadResponse;
|
|
@@ -14,8 +15,6 @@ import io.minio.ListPartsResponse;
|
|
|
import io.minio.errors.*;
|
|
|
import io.minio.http.Method;
|
|
|
import io.minio.messages.Part;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -36,14 +35,11 @@ public class MinioController {
|
|
|
@Resource(name = "minioClientPrivate")
|
|
|
private SubMinioClient minioClientPrivate;
|
|
|
|
|
|
- @Resource(name = "minioClientPublic")
|
|
|
- private SubMinioClient minioClientPublic;
|
|
|
+ @Resource
|
|
|
+ private MinioConfiguration minioConfiguration;
|
|
|
|
|
|
- @Value("${minio.bucket-name}")
|
|
|
- private String bucketName;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- RedisController redisController;
|
|
|
+// @Resource(name = "minioClientPublic")
|
|
|
+// private SubMinioClient minioClientPublic;
|
|
|
|
|
|
|
|
|
@PostMapping("/hello")
|
|
@@ -59,10 +55,12 @@ public class MinioController {
|
|
|
MinioUtil.uploadFromMultipartFile(
|
|
|
minioClientPrivate,
|
|
|
file,
|
|
|
- bucketName,
|
|
|
+ minioConfiguration.getBucketName(),
|
|
|
objectName
|
|
|
);
|
|
|
- String previewUrl = MinioUtil.getPreviewUrl(minioClientPublic, Method.GET, bucketName, objectName);
|
|
|
+// String previewUrl = MinioUtil.getPreviewUrl(minioClientPublic, Method.GET, minioConfiguration.getBucketName(), objectName);
|
|
|
+ String previewUrl = MinioUtil.getPublicPreviewUrl(minioClientPrivate, Method.GET, minioConfiguration.getBucketName(), objectName,
|
|
|
+ minioConfiguration.getEndpointPrivate(), minioConfiguration.getEndpointPublic());
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "请求成功!", previewUrl);
|
|
|
}
|
|
|
|
|
@@ -72,7 +70,7 @@ public class MinioController {
|
|
|
@RequestBody @Validated MinioParameter minioParameter
|
|
|
) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
|
|
- List<String> objects = MinioUtil.listObjects(minioClientPrivate, bucketName, minioParameter.getObjectName());
|
|
|
+ List<String> objects = MinioUtil.listObjects(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
|
|
|
}
|
|
|
|
|
@@ -80,7 +78,7 @@ public class MinioController {
|
|
|
public ResponseBodyVO<List<String>> listDeepOne(
|
|
|
@RequestBody @Validated MinioParameter minioParameter
|
|
|
) throws Exception {
|
|
|
- List<String> objects = MinioUtil.listObjectsUnRecursive(minioClientPrivate, bucketName, minioParameter.getObjectName());
|
|
|
+ List<String> objects = MinioUtil.listObjectsUnRecursive(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
|
|
|
}
|
|
|
|
|
@@ -91,7 +89,7 @@ public class MinioController {
|
|
|
) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
InputStream inputStream = MinioUtil.downloadToStream(
|
|
|
minioClientPrivate,
|
|
|
- bucketName,
|
|
|
+ minioConfiguration.getBucketName(),
|
|
|
minioParameter.getObjectName()
|
|
|
);
|
|
|
String fileName = FileUtil.getFileName(minioParameter.getObjectName());
|
|
@@ -102,7 +100,7 @@ public class MinioController {
|
|
|
public void preview(@RequestParam("objectName") String objectName, HttpServletResponse response) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
InputStream inputStream = MinioUtil.downloadToStream(
|
|
|
minioClientPrivate,
|
|
|
- bucketName,
|
|
|
+ minioConfiguration.getBucketName(),
|
|
|
objectName
|
|
|
);
|
|
|
String fileName = FileUtil.getFileName(objectName);
|
|
@@ -110,8 +108,10 @@ public class MinioController {
|
|
|
}
|
|
|
|
|
|
@RequestMapping("/getPreviewUrl")
|
|
|
- public ResponseBodyVO<String> getPreviewUrl(@RequestBody @Validated MinioParameter minioParameter) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
- String previewUrl = MinioUtil.getPreviewUrl(minioClientPublic, Method.GET, bucketName, minioParameter.getObjectName());
|
|
|
+ public ResponseBodyVO<String> getPreviewUrl(@RequestBody @Validated MinioParameter minioParameter) {
|
|
|
+// String previewUrl = MinioUtil.getPreviewUrl(minioClientPublic, Method.GET, minioConfiguration.getBucketName(), minioParameter.getObjectName());
|
|
|
+ String previewUrl = MinioUtil.getPublicPreviewUrl(minioClientPrivate, Method.GET, minioConfiguration.getBucketName(), minioParameter.getObjectName(),
|
|
|
+ minioConfiguration.getEndpointPrivate(), minioConfiguration.getEndpointPublic());
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "请求成功!", previewUrl);
|
|
|
}
|
|
|
|
|
@@ -129,7 +129,7 @@ public class MinioController {
|
|
|
objectName = "algorithm/" + nowTime + "/" + objectName;
|
|
|
}
|
|
|
Map<String, Object> result = new HashMap<>();//结果数据
|
|
|
- CreateMultipartUploadResponse multipartUpload = minioClientPrivate.createMultipartUpload(bucketName, null, objectName, null, null);
|
|
|
+ CreateMultipartUploadResponse multipartUpload = minioClientPrivate.createMultipartUpload(minioConfiguration.getBucketName(), null, objectName, null, null);
|
|
|
String uploadId = multipartUpload.result().uploadId();
|
|
|
List<String> UrlList = new LinkedList<>();
|
|
|
Map<String, String> queryParam = new HashMap<>();
|
|
@@ -137,9 +137,16 @@ public class MinioController {
|
|
|
int size = Integer.parseInt(chunkSize);
|
|
|
for (int i = 1; i <= size; i++) {
|
|
|
queryParam.put("partNumber", String.valueOf(i));
|
|
|
- String presignedObjectUrl = minioClientPublic.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
|
|
+// String presignedObjectUrl = minioClientPublic.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
|
|
+// .method(Method.PUT)
|
|
|
+// .bucket(minioConfiguration.getBucketName())
|
|
|
+// .object(objectName)
|
|
|
+// .expiry(60 * 60)//上传URL有效期
|
|
|
+// .extraQueryParams(queryParam)
|
|
|
+// .build());
|
|
|
+ String presignedObjectUrl = minioClientPrivate.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
|
|
.method(Method.PUT)
|
|
|
- .bucket(bucketName)
|
|
|
+ .bucket(minioConfiguration.getBucketName())
|
|
|
.object(objectName)
|
|
|
.expiry(60 * 60)//上传URL有效期
|
|
|
.extraQueryParams(queryParam)
|
|
@@ -160,7 +167,7 @@ public class MinioController {
|
|
|
if (ObjectUtil.isNull(objectName) || ObjectUtil.isNull(uploadId)) {
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "请求参数缺失!");
|
|
|
}
|
|
|
- ListPartsResponse listPartsResponse = minioClientPrivate.listParts(bucketName, null, objectName, 10000, 0, uploadId, null, null);
|
|
|
+ ListPartsResponse listPartsResponse = minioClientPrivate.listParts(minioConfiguration.getBucketName(), null, objectName, 10000, 0, uploadId, null, null);
|
|
|
List<Part> parts = listPartsResponse.result().partList();
|
|
|
Part[] partArr = new Part[parts.size()];
|
|
|
int partNumber = 1;
|
|
@@ -168,7 +175,7 @@ public class MinioController {
|
|
|
partArr[partNumber - 1] = new Part(partNumber, part.etag());
|
|
|
partNumber++;
|
|
|
}
|
|
|
- minioClientPrivate.completeMultipartUpload(bucketName, null, objectName, uploadId, partArr, null, null);
|
|
|
+ minioClientPrivate.completeMultipartUpload(minioConfiguration.getBucketName(), null, objectName, uploadId, partArr, null, null);
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "合并成功!");
|
|
|
}
|
|
|
|
|
@@ -177,7 +184,7 @@ public class MinioController {
|
|
|
@RequestBody @Validated MinioParameter minioParameter
|
|
|
) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
|
|
- MinioUtil.removeObject(minioClientPrivate, bucketName, minioParameter.getObjectName());
|
|
|
+ MinioUtil.removeObject(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
|
|
|
}
|
|
|
|
|
|
}
|