package com.stylefeng.guns.modular.system.util; import com.aliyun.oss.OSSClient; import com.amazonaws.ClientConfiguration; import com.amazonaws.Protocol; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.S3ClientOptions; import com.amazonaws.services.s3.model.CannedAccessControlList; import com.amazonaws.services.s3.model.PutObjectRequest; import com.amazonaws.services.s3.model.PutObjectResult; import com.obs.services.ObsClient; import com.obs.services.model.ObjectMetadata; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.*; import java.util.UUID; public class OssUploadUtil { public static String oss_domain = "https://jxcz001.obs.cn-east-3.myhuaweicloud.com/"; public static String accessKeyId = "HPUAU60WPTG0TMGK0SW2"; public static String accessKeySecret = "PVmiIOsuvBgpWaXNWiYVOiGfhI3kptz10pvNcBcF"; public static String bucketName="jxcz001"; private final static String END_POINT = "obs.cn-east-3.myhuaweicloud.com";//请替换成您Bucket所在区域的endpoint // public static String oss_domain = "https://zion.obs-helf.cucloud.cn/"; // public static String accessKeyId = "78C11083456341FB8F93081994FBA33F3613"; // public static String accessKeySecret = "F7D38693A5804F66A9286BC65C6EB5A68817"; // public static String bucketName="zion"; // private final static String END_POINT = "obs-helf.cucloud.cn";//请替换成您Bucket所在区域的endpoint public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, END_POINT); public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{ //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile; String fileName = ""; if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){ InputStream content = file.getInputStream();//获得指定文件的输入流 com.obs.services.model.ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata meta.setContentLength(file.getSize()); // 必须设置ContentLength String originalFilename = file.getOriginalFilename(); fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); obsClient.putObject(bucketName,"admin/"+fileName,content,meta);// 上传Object. if(fileName != null && !"".equals(fileName)){ System.out.println(fileName); fileName = oss_domain+"admin/"+fileName; } } return fileName; } // public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{ // //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile; // String fileName = ""; //// if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){ //// InputStream content = file.getInputStream();//获得指定文件的输入流 //// ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata //// meta.setContentLength(file.getSize()); // 必须设置ContentLength //// String originalFilename = file.getOriginalFilename(); //// fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); //// ossClient.putObject(bucketName,"img/"+fileName,content,meta);// 上传Object. //// if(fileName != null && !"".equals(fileName)){ //// System.out.println(fileName); //// fileName = oss_domain+"img/"+fileName; //// } //// } // BasicAWSCredentials basicAwsCred = new BasicAWSCredentials(accessKeyId, accessKeySecret); //请替换成您的AccessKey和SecretKey // // ClientConfiguration clientConfiguration = new ClientConfiguration(); // // clientConfiguration.setProtocol(Protocol.HTTPS); // // AmazonS3Client s3 = new AmazonS3Client(basicAwsCred, clientConfiguration); // // S3ClientOptions options = S3ClientOptions.builder().setPathStyleAccess(true).setPayloadSigningEnabled(true).disableChunkedEncoding().build(); // // s3.setS3ClientOptions(options); // // s3.setEndpoint(END_POINT); // // 将MultipartFile通过流转化为File // File convert = convert(file); // String originalFilename = file.getOriginalFilename(); // fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); // PutObjectResult putObjectResult = s3.putObject( // new PutObjectRequest(bucketName, fileName, convert) // .withCannedAcl(CannedAccessControlList.PublicReadWrite)); // System.out.println(oss_domain+fileName); // return oss_domain+fileName; // } public static File convert(MultipartFile multipartFile) throws IOException { // 创建一个临时文件 File convFile = File.createTempFile("temp", multipartFile.getOriginalFilename()); // 将MultipartFile的内容写入临时文件 multipartFile.transferTo(convFile); return convFile; } }