package com.gkhy.safePlatform.minioFile.service;
|
|
import com.gkhy.safePlatform.minioFile.config.MinioConfig;
|
import com.gkhy.safePlatform.minioFile.utils.UUIDUtil;
|
import io.minio.GetPresignedObjectUrlArgs;
|
import io.minio.MinioClient;
|
import io.minio.errors.*;
|
import io.minio.http.Method;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.io.IOException;
|
import java.security.InvalidKeyException;
|
import java.security.NoSuchAlgorithmException;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.UUID;
|
|
@Service
|
public class MinioAccessService {
|
|
@Resource
|
private MinioConfig minioConfig;
|
|
@Autowired
|
private MinioClient minioClient;
|
|
public String viewFile(String objectName){
|
String url = null;
|
try {
|
url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
.method(Method.GET)
|
.bucket(minioConfig.getBucketName())
|
.object(objectName)
|
.expiry(60).build());
|
} catch (ErrorResponseException e) {
|
e.printStackTrace();
|
} catch (InsufficientDataException e) {
|
e.printStackTrace();
|
} catch (InternalException e) {
|
e.printStackTrace();
|
} catch (InvalidKeyException e) {
|
e.printStackTrace();
|
} catch (InvalidResponseException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
} catch (NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
} catch (XmlParserException e) {
|
e.printStackTrace();
|
} catch (ServerException e) {
|
e.printStackTrace();
|
}
|
return url;
|
}
|
|
public Map<String, String> getPresignUrl(String prefixName ,String suffixName){
|
String uuid= UUIDUtil.initUUID();
|
String objName = prefixName+uuid+suffixName;
|
String url = null;
|
Map<String,String> resMap = new HashMap<>();
|
resMap.put("fileName",objName);
|
try {
|
Map<String, String> reqParams = new HashMap<>();
|
reqParams.put("response-content-type", "application/json");
|
url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
.method(Method.PUT)
|
.bucket(minioConfig.getBucketName())
|
.object(objName)
|
.expiry(60*2)
|
.extraQueryParams(reqParams)
|
.build());
|
resMap.put("uploadUrl",url);
|
} catch (ErrorResponseException e) {
|
e.printStackTrace();
|
} catch (InsufficientDataException e) {
|
e.printStackTrace();
|
} catch (InternalException e) {
|
e.printStackTrace();
|
} catch (InvalidKeyException e) {
|
e.printStackTrace();
|
} catch (InvalidResponseException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
} catch (NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
} catch (XmlParserException e) {
|
e.printStackTrace();
|
} catch (ServerException e) {
|
e.printStackTrace();
|
}
|
return resMap;
|
}
|
|
|
|
}
|