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