//package com.gk.hotwork.specialWork.service.impl; // //import com.gk.hotwork.commons.config.file.MinioConfig; //import com.gk.hotwork.Domain.Enum.ResultCodes; //import com.gk.hotwork.Domain.Utils.StringUtils; //import com.gk.hotwork.commons.utils.UUIDUtil; //import com.gk.hotwork.Domain.Vo.ResultVO; //import com.gk.hotwork.specialWork.service.SpecialWorkMinoService; //import io.minio.GetPresignedObjectUrlArgs; //import io.minio.MinioClient; //import io.minio.RemoveObjectArgs; //import io.minio.errors.*; //import io.minio.http.Method; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Value; //import org.springframework.stereotype.Service; // //import java.text.SimpleDateFormat; //import java.util.Date; //import java.util.HashMap; //import java.util.Map; // // //@Service //public class SpecialWorkMinoServiceImpl implements SpecialWorkMinoService { // // private Logger logger = LoggerFactory.getLogger(this.getClass()); // // @Autowired // private MinioClient minioClient; // // @Autowired // private MinioConfig minioConfig; // // @Value("${specailworkmino.floders.specialwork}") // private String minioFloders; // // /** // * 获取对象上传路径 // */ // @Override // public ResultVO getPresignUrl(String suffixName){ // // String uuid= UUIDUtil.initUUID(); // SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // String objName = formatter.format(new Date())+"-"+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(minioFloders+objName) // .expiry(60*2) // .extraQueryParams(reqParams) // .build()); // resMap.put("uploadUrl",url); // } catch (Exception e) { // e.printStackTrace(); // } // return new ResultVO<>(ResultCodes.OK,resMap); // } // // /** // * @description 获取文件下载地址 // */ // @Override // public ResultVO viewFile(String fileName){ // String url = null; // try { // url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder() // .method(Method.GET) // .bucket(minioConfig.getBucketName()) // .object(minioFloders+fileName) // .expiry(60*5).build()); // } catch (Exception e) { // e.printStackTrace(); // } // url = minioConfig.getUrlPrefix() + url.substring((url.indexOf("//") + 2)).substring(url.substring((url.indexOf("//") + 2)).indexOf( // "/")); // return new ResultVO(ResultCodes.OK,url); // } // // /** // * @description 删除文件 // */ // @Override // public ResultVO deleteFile(String fileName) { // try { // minioClient.removeObject(RemoveObjectArgs.builder() // .bucket(minioConfig.getBucketName()) // .object(minioFloders+fileName) // .build()); // } catch (Exception e) { // e.printStackTrace(); // } // return new ResultVO<>(ResultCodes.OK); // } // // /** // * 批量获取文件 // */ // public String viewFiles(String fileNames){ // // StringBuffer stringBuffer = new StringBuffer(); // if(StringUtils.isNotBlank(fileNames)){ // String[] str = fileNames.split(","); // for (int i = 0; i < str.length; i++) { // String url = null; // try { // url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder() // .method(Method.GET) // .bucket(minioConfig.getBucketName()) // .object(minioFloders+str[i]) // .expiry(60*5).build()); // } catch (Exception e) { // e.printStackTrace(); // } // url = minioConfig.getUrlPrefix() + url.substring((url.indexOf("//") + 2)).substring(url.substring((url.indexOf("//") + 2)).indexOf( // "/")); // stringBuffer.append(url).append(","); // } // stringBuffer.deleteCharAt(stringBuffer.length() - 1); // // } // return stringBuffer.toString(); // } // //}