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 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; } }