|
@@ -71,7 +71,7 @@ public class MinioController {
|
|
) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
String type = request.getParameter("type");
|
|
String type = request.getParameter("type");
|
|
String objectPath = request.getParameter("objectPath");
|
|
String objectPath = request.getParameter("objectPath");
|
|
- if (file != null){
|
|
|
|
|
|
+ if (file != null) {
|
|
String objectName = "";
|
|
String objectName = "";
|
|
Integer nowTime = TimeUtil.getRq(new Date(), 0);
|
|
Integer nowTime = TimeUtil.getRq(new Date(), 0);
|
|
if (type.equals(DictConstants.ALGORITHM_FILE)) {
|
|
if (type.equals(DictConstants.ALGORITHM_FILE)) {
|
|
@@ -94,20 +94,14 @@ public class MinioController {
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "文件流file为空,请检查!");
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "文件流file为空,请检查!");
|
|
}
|
|
}
|
|
|
|
|
|
-// @PostMapping("/download")
|
|
|
|
-// public ResponseBodyVO<String> download(
|
|
|
|
-// @RequestBody @Validated MinioParameter minioParameter,
|
|
|
|
-// HttpServletResponse response
|
|
|
|
-// ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
-// InputStream inputStream = MinioUtil.downloadToStream(
|
|
|
|
-// minioClient,
|
|
|
|
-// bucketName,
|
|
|
|
-// minioParameter.getObjectName()
|
|
|
|
-// );
|
|
|
|
-// String fileName = FileUtil.getFileName(minioParameter.getObjectName());
|
|
|
|
-// FileUtil.downloadForHttp(fileName, inputStream, response, 1024);
|
|
|
|
-// return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
|
-// }
|
|
|
|
|
|
+ @PostMapping("/download")
|
|
|
|
+ public ResponseBodyVO<List<String>> download(
|
|
|
|
+ @RequestBody @Validated MinioParameter minioParameter
|
|
|
|
+ ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
+
|
|
|
|
+ List<String> objects = MinioUtil.listObjects(minioClient, bucketName, minioParameter.getObjectName());
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
|
|
|
|
+ }
|
|
|
|
|
|
@PostMapping("/download")
|
|
@PostMapping("/download")
|
|
public void download(
|
|
public void download(
|
|
@@ -124,7 +118,7 @@ public class MinioController {
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("/preview")
|
|
@RequestMapping("/preview")
|
|
- public void preview(@RequestParam("objectName") String objectName, HttpServletResponse response ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
|
|
+ public void preview(@RequestParam("objectName") String objectName, HttpServletResponse response) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
InputStream inputStream = MinioUtil.downloadToStream(
|
|
InputStream inputStream = MinioUtil.downloadToStream(
|
|
minioClient,
|
|
minioClient,
|
|
bucketName,
|
|
bucketName,
|
|
@@ -136,26 +130,26 @@ public class MinioController {
|
|
|
|
|
|
@RequestMapping("/createMultipartUpload")
|
|
@RequestMapping("/createMultipartUpload")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public ResponseBodyVO createMultipartUpload(@RequestBody Map<String,String> paramMap) throws Exception {
|
|
|
|
|
|
+ public ResponseBodyVO createMultipartUpload(@RequestBody Map<String, String> paramMap) throws Exception {
|
|
String objectName = paramMap.get("objectName");
|
|
String objectName = paramMap.get("objectName");
|
|
String chunkSize = paramMap.get("chunkSize");
|
|
String chunkSize = paramMap.get("chunkSize");
|
|
String type = paramMap.get("type");
|
|
String type = paramMap.get("type");
|
|
- if(ObjectUtil.isNull(objectName) || ObjectUtil.isNull(chunkSize) || ObjectUtil.isNull(type)){
|
|
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"请求参数缺失");
|
|
|
|
|
|
+ if (ObjectUtil.isNull(objectName) || ObjectUtil.isNull(chunkSize) || ObjectUtil.isNull(type)) {
|
|
|
|
+ return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "请求参数缺失");
|
|
}
|
|
}
|
|
Integer nowTime = TimeUtil.getRq(new Date(), 0);
|
|
Integer nowTime = TimeUtil.getRq(new Date(), 0);
|
|
if (type.equals(DictConstants.ALGORITHM_FILE)) {
|
|
if (type.equals(DictConstants.ALGORITHM_FILE)) {
|
|
objectName = "algorithm/" + nowTime + "/" + objectName;
|
|
objectName = "algorithm/" + nowTime + "/" + objectName;
|
|
}
|
|
}
|
|
- Map<String,Object> result = new HashMap<>();//结果数据
|
|
|
|
|
|
+ Map<String, Object> result = new HashMap<>();//结果数据
|
|
CreateMultipartUploadResponse multipartUpload = minioClient.createMultipartUpload(bucketName, null, objectName, null, null);
|
|
CreateMultipartUploadResponse multipartUpload = minioClient.createMultipartUpload(bucketName, null, objectName, null, null);
|
|
String uploadId = multipartUpload.result().uploadId();
|
|
String uploadId = multipartUpload.result().uploadId();
|
|
List<String> UrlList = new LinkedList<>();
|
|
List<String> UrlList = new LinkedList<>();
|
|
- Map<String,String> queryParam = new HashMap();
|
|
|
|
- queryParam.put("uploadId",uploadId);
|
|
|
|
|
|
+ Map<String, String> queryParam = new HashMap();
|
|
|
|
+ queryParam.put("uploadId", uploadId);
|
|
int size = Integer.valueOf(chunkSize);
|
|
int size = Integer.valueOf(chunkSize);
|
|
for (int i = 1; i <= size; i++) {
|
|
for (int i = 1; i <= size; i++) {
|
|
- queryParam.put("partNumber",String.valueOf(i));
|
|
|
|
|
|
+ queryParam.put("partNumber", String.valueOf(i));
|
|
String presignedObjectUrl = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
|
String presignedObjectUrl = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
|
.method(Method.PUT)
|
|
.method(Method.PUT)
|
|
.bucket(bucketName)
|
|
.bucket(bucketName)
|
|
@@ -165,29 +159,29 @@ public class MinioController {
|
|
.build());
|
|
.build());
|
|
UrlList.add(presignedObjectUrl);
|
|
UrlList.add(presignedObjectUrl);
|
|
}
|
|
}
|
|
- result.put("uploadId",uploadId);
|
|
|
|
- result.put("uploadUrls",UrlList);
|
|
|
|
- result.put("objectName",objectName);
|
|
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,result);
|
|
|
|
|
|
+ result.put("uploadId", uploadId);
|
|
|
|
+ result.put("uploadUrls", UrlList);
|
|
|
|
+ result.put("objectName", objectName);
|
|
|
|
+ return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, result);
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("/completeMultipartUpload")
|
|
@RequestMapping("/completeMultipartUpload")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public ResponseBodyVO completeMultipartUpload(@RequestBody Map<String,String> paramMap) throws Exception {
|
|
|
|
|
|
+ public ResponseBodyVO completeMultipartUpload(@RequestBody Map<String, String> paramMap) throws Exception {
|
|
String objectName = paramMap.get("objectName");
|
|
String objectName = paramMap.get("objectName");
|
|
String uploadId = paramMap.get("uploadId");
|
|
String uploadId = paramMap.get("uploadId");
|
|
- if(ObjectUtil.isNull(objectName) || ObjectUtil.isNull(uploadId)){
|
|
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"请求参数缺失");
|
|
|
|
|
|
+ if (ObjectUtil.isNull(objectName) || ObjectUtil.isNull(uploadId)) {
|
|
|
|
+ return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "请求参数缺失");
|
|
}
|
|
}
|
|
ListPartsResponse listPartsResponse = minioClient.listParts(bucketName, null, objectName, 10000, 0, uploadId, null, null);
|
|
ListPartsResponse listPartsResponse = minioClient.listParts(bucketName, null, objectName, 10000, 0, uploadId, null, null);
|
|
List<Part> parts = listPartsResponse.result().partList();
|
|
List<Part> parts = listPartsResponse.result().partList();
|
|
Part[] partArr = new Part[parts.size()];
|
|
Part[] partArr = new Part[parts.size()];
|
|
int partNumber = 1;
|
|
int partNumber = 1;
|
|
- for (Part part: parts) {
|
|
|
|
- partArr[partNumber-1] = new Part(partNumber,part.etag());
|
|
|
|
|
|
+ for (Part part : parts) {
|
|
|
|
+ partArr[partNumber - 1] = new Part(partNumber, part.etag());
|
|
partNumber++;
|
|
partNumber++;
|
|
}
|
|
}
|
|
- minioClient.completeMultipartUpload(bucketName,null,objectName,uploadId,partArr,null,null);
|
|
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,"合并成功");
|
|
|
|
|
|
+ minioClient.completeMultipartUpload(bucketName, null, objectName, uploadId, partArr, null, null);
|
|
|
|
+ return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, "合并成功");
|
|
}
|
|
}
|
|
}
|
|
}
|