package com.gkhy.safePlatform.minioDemo.service;
|
|
import com.gkhy.safePlatform.minioDemo.config.MinioConfig;
|
import io.minio.BucketExistsArgs;
|
import io.minio.GetPresignedObjectUrlArgs;
|
import io.minio.MinioClient;
|
import io.minio.UploadObjectArgs;
|
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;
|
|
@Service
|
public class MinioAccessService {
|
|
@Resource
|
private MinioConfig minioConfig;
|
|
@Autowired
|
private MinioClient minioClient;
|
|
public Object uploadFile(){
|
try {
|
boolean bucketCheck =
|
minioClient.bucketExists(BucketExistsArgs.builder()
|
.bucket(minioConfig.getBucketName()).build());
|
if(bucketCheck == true){
|
minioClient.uploadObject(UploadObjectArgs.builder().bucket(minioConfig.getBucketName())
|
.object("1.b3dm")
|
.filename("G:\\b3dm\\b3dm60\\Tile_+000_+004\\Tile_+000_+004.b3dm")
|
.build());
|
System.out.println("上传成功");
|
}
|
} catch (ServerException e) {
|
e.printStackTrace();
|
} catch (InsufficientDataException e) {
|
e.printStackTrace();
|
} catch (ErrorResponseException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
} catch (NoSuchAlgorithmException e) {
|
e.printStackTrace();
|
} catch (InvalidKeyException e) {
|
e.printStackTrace();
|
} catch (InvalidResponseException e) {
|
e.printStackTrace();
|
} catch (XmlParserException e) {
|
e.printStackTrace();
|
} catch (InternalException e) {
|
e.printStackTrace();
|
}
|
return "1";
|
}
|
|
public String getObjectUrl(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 String getPutUrl(String objName){
|
String url = null;
|
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());
|
} 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;
|
}
|
|
|
}
|