ssjygl-xsct-service/ssjygl-xsx-common/src/main/java/com/cowr/common/oss/OSSKit.java

152 lines
4.6 KiB
Java

package com.cowr.common.oss;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectListing;
import com.aliyun.oss.model.ObjectMetadata;
import com.jfinal.kit.StrKit;
import com.jfinal.log.Log;
import java.io.File;
import java.net.URLEncoder;
public class OSSKit {
private static Log log = Log.getLog(OSSKit.class);
private static OSSClient _ossClient;
private static String bucketName;
private static String endpoint;
private static String accessKeyId = "LTAIqQ3TXBgNGBWi";
private static String accessKeySecret = "CGbPXdfX4xca3uaN2cOmTzjsG4jd6O";
public static void init(String endpoint, String bucketName) {
OSSKit.endpoint = endpoint;
OSSKit.bucketName = bucketName;
}
public static void start() {
try {
OSSKit._ossClient = new OSSClient(OSSKit.endpoint, OSSKit.accessKeyId, OSSKit.accessKeySecret);
if (!OSSKit._ossClient.doesBucketExist(OSSKit.bucketName)) {
log.error("bucket %s 不存在", OSSKit.bucketName);
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage());
}
}
public static boolean stop() {
if (OSSKit._ossClient != null) {
OSSKit._ossClient.shutdown();
}
return true;
}
public static boolean putObject(String key, File file) throws Exception {
if (_ossClient == null) {
log.error("没有初始化 OSSMgrClient");
OSSKit.start();
if (_ossClient == null) {
log.error("OSSMgrClient 初始化失败");
return false;
}
}
if (!StrKit.notBlank(key) || file == null || !file.exists() || file.isDirectory()) {
return false;
}
long st = System.currentTimeMillis();
ObjectMetadata meta = new ObjectMetadata();
meta.setContentDisposition("attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
_ossClient.putObject(bucketName, key, file, meta);
log.debug("oss put time: " + (System.currentTimeMillis() - st) + ", file size: " + file.length());
return true;
}
public static boolean putObject(String bucketName, String key, File file) throws Exception {
if (_ossClient == null) {
log.error("没有初始化 OSSMgrClient");
OSSKit.start();
if (_ossClient == null) {
log.error("OSSMgrClient 初始化失败");
return false;
}
}
if (!StrKit.notBlank(key) || file == null || !file.exists() || file.isDirectory()) {
return false;
}
long st = System.currentTimeMillis();
ObjectMetadata meta = new ObjectMetadata();
meta.setContentDisposition("attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
_ossClient.putObject(bucketName, key, file, meta);
log.debug("oss put time: " + (System.currentTimeMillis() - st) + ", file size: " + file.length());
return true;
}
public static boolean delObject(String key) throws Exception {
if (_ossClient == null) {
log.error("没有初始化 OSSMgrClient");
return false;
}
if (_ossClient.doesObjectExist(bucketName, key)) {
_ossClient.deleteObject(bucketName, key);
}
return true;
}
public static ObjectListing list(String prefix){
if (_ossClient == null) {
log.error("没有初始化 OSSMgrClient");
return null;
}
return _ossClient.listObjects(bucketName, prefix);
}
// public static void main(String[] args) {
// new OSSPlugin("oss-cn-shenzhen.aliyuncs.com", "hsjygl").start();
// ObjectListing list = OSSKit.getCli().listObjects(new ListObjectsRequest("hsjygl").withMaxKeys(1000).withPrefix("file"));
//
// List<OSSObjectSummary> arr = list.getObjectSummaries();
//
// while (arr.size() > 999){
// System.out.println("继续删除:" + arr.size());
//
// for(OSSObjectSummary obj : arr){
// if(obj.getSize() == 0){
// continue;
// }
//
// if( obj.getLastModified().getTime() < System.currentTimeMillis() - 4 * 60 * 60 * 1000 ){
// System.out.println(obj.getKey() + " " + obj.getLastModified() + " " + obj.getSize());
// OSSKit.getCli().deleteObject("hsjygl", obj.getKey());
// }
// }
//
// arr = list.getObjectSummaries();
// }
//
//
//// System.out.println(list);
// }
}