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