package com.gkhy.safePlatform.minioFile.service; //import com.gkhy.safePlatform.minioFile.config.MinioConfig; import com.gkhy.safePlatform.commons.config.file.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; @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 getPresignUrl(String prefixName ,String suffixName){ String uuid= UUIDUtil.initUUID(); String objName = prefixName+uuid+suffixName; String url = null; Map resMap = new HashMap<>(); resMap.put("fileName",objName); 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()); 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; } }