资源下载链路打通
This commit is contained in:
115
src/main/java/com/quinn/utils/OSSClientUtil.java
Normal file
115
src/main/java/com/quinn/utils/OSSClientUtil.java
Normal file
@@ -0,0 +1,115 @@
|
||||
package com.quinn.utils;
|
||||
|
||||
import com.aliyun.oss.OSSClient;
|
||||
import com.aliyun.oss.model.CannedAccessControlList;
|
||||
import com.aliyun.oss.model.OSSObject;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* 阿里云 OSS文件类
|
||||
*
|
||||
* @author zuojie.liang
|
||||
*/
|
||||
@Component
|
||||
public class OSSClientUtil {
|
||||
|
||||
Log log = LogFactory.getLog(OSSClientUtil.class);
|
||||
/**
|
||||
* 协议
|
||||
*/
|
||||
@Value("${oss.protocol}")
|
||||
private String protocol;
|
||||
/**
|
||||
* 仓库名称
|
||||
*/
|
||||
@Value("${oss.name}")
|
||||
private String bucketName;
|
||||
/**
|
||||
* 公网节点
|
||||
*/
|
||||
@Value("${oss.endPoint}")
|
||||
private String endpoint;
|
||||
@Value("${oss.accessKeyId}")
|
||||
private String accessKeyId;
|
||||
/**
|
||||
* API访问值
|
||||
*/
|
||||
@Value("${oss.accessKeySecret}")
|
||||
private String accessKeySecret;
|
||||
@Value("${oss.url}")
|
||||
private String url;
|
||||
private OSSClient ossClient;
|
||||
|
||||
public String upload(String filename, InputStream file) {
|
||||
return uploadImg(file, filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
public String uploadImg(MultipartFile file) throws IOException {
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
return uploadImg(file.getInputStream(), originalFilename);
|
||||
}
|
||||
|
||||
public String uploadImg(InputStream inputStream, String originalFilename) {
|
||||
String backUrl = "";
|
||||
try {
|
||||
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
||||
String substring = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
|
||||
Random random = new Random();
|
||||
String name = random.nextInt(10000) + System.currentTimeMillis() + substring;
|
||||
backUrl = "imageDir/" + name;
|
||||
// 上传文件
|
||||
ossClient.putObject(bucketName, backUrl, inputStream);
|
||||
ossClient.setObjectAcl(bucketName, backUrl, CannedAccessControlList.PublicRead);
|
||||
// 判断是否上传成功
|
||||
boolean uploadResult = ossClient.doesObjectExist(bucketName, backUrl);
|
||||
|
||||
if (uploadResult) {
|
||||
backUrl = getImgUrl(name);
|
||||
} else {
|
||||
backUrl = "";
|
||||
}
|
||||
} finally {
|
||||
if (ossClient != null) {
|
||||
ossClient.shutdown();
|
||||
}
|
||||
}
|
||||
return backUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得图片路径
|
||||
*
|
||||
* @param fileUrl
|
||||
* @return
|
||||
*/
|
||||
public String getImgUrl(String fileUrl) {
|
||||
if (!StringUtils.isEmpty(fileUrl)) {
|
||||
String[] split = fileUrl.split("/");
|
||||
return url + "imageDir/" + split[split.length - 1];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public InputStream downloadFile(String objName){
|
||||
// ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
|
||||
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
|
||||
OSSObject ossObject = ossClient.getObject(bucketName, objName);
|
||||
return ossObject.getObjectContent();
|
||||
}
|
||||
|
||||
}
|
||||
28
src/main/java/com/quinn/utils/UUIDGenerator.java
Normal file
28
src/main/java/com/quinn/utils/UUIDGenerator.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.quinn.utils;
|
||||
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @title UUIDGenerator
|
||||
* @description 随机生成32位UUID,格式如:a11686c39a154cf2a5238fb14cf3d097
|
||||
* <br>
|
||||
* <br>
|
||||
*/
|
||||
public class UUIDGenerator {
|
||||
/**
|
||||
* 主键生成机制
|
||||
* @return
|
||||
*/
|
||||
public static String randomUUID(){
|
||||
String result="";
|
||||
UUID uuid = UUID.randomUUID();
|
||||
String temp=uuid.toString();
|
||||
StringTokenizer token=new StringTokenizer(temp,"-");
|
||||
while(token.hasMoreTokens()){
|
||||
result+=token.nextToken();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user