88 lines
2.6 KiB
Java
88 lines
2.6 KiB
Java
|
|
package com.cowr.common.oss;
|
||
|
|
|
||
|
|
import com.aliyun.oss.OSSClient;
|
||
|
|
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;
|
||
|
|
|
||
|
|
public static OSSClient getCli() {
|
||
|
|
return OSSKit._ossClient;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void setCli(OSSClient cli, String bucketName) {
|
||
|
|
OSSKit._ossClient = cli;
|
||
|
|
OSSKit.bucketName = bucketName;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static boolean putObject(String key, File file) throws Exception {
|
||
|
|
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 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);
|
||
|
|
// }
|
||
|
|
}
|