package com.sinata.core.util;
|
|
import com.aliyun.oss.OSSClient;
|
import com.aliyun.oss.model.ObjectMetadata;
|
import com.sinata.common.keys.AliyunConfig;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.util.UUID;
|
|
/**
|
* 阿里云OSS上传工具类
|
*
|
* @author goku
|
*/
|
public class OssUploadUtil {
|
|
/**
|
* 阿里云账号配置
|
*/
|
public static String accessKeyId = AliyunConfig.accessKeyId;
|
public static String accessKeySecret = AliyunConfig.accessKeySecret;
|
|
/**
|
* 阿里云OSS图片访问域名
|
*/
|
public static String ossDomain = AliyunConfig.ossDomain;
|
public static String bucketName = AliyunConfig.bucketName;
|
public static String endpoint = AliyunConfig.endpoint;
|
|
public static OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
|
public static String ossUpload(MultipartFile file) throws IOException {
|
// CommonsMultipartFile file = (CommonsMultipartFile)multipartFile;
|
String fileName = "";
|
if (file != null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename() != null) {
|
//获得指定文件的输入流
|
InputStream content = file.getInputStream();
|
// 创建上传Object的Metadata
|
ObjectMetadata meta = new ObjectMetadata();
|
// 必须设置ContentLength
|
meta.setContentLength(file.getSize());
|
String originalFilename = file.getOriginalFilename();
|
fileName = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length());
|
// 上传Object.
|
ossClient.putObject(bucketName, "img/" + fileName, content, meta);
|
if (fileName != null && !"".equals(fileName)) {
|
fileName = ossDomain + "img/" + fileName;
|
}
|
}
|
return fileName;
|
}
|
}
|