diff --git a/java/src/main/java/com/toesbieya/my/utils/QiniuUtil.java b/java/src/main/java/com/toesbieya/my/utils/QiniuUtil.java index 2255108..d7d9a72 100644 --- a/java/src/main/java/com/toesbieya/my/utils/QiniuUtil.java +++ b/java/src/main/java/com/toesbieya/my/utils/QiniuUtil.java @@ -12,11 +12,20 @@ public class QiniuUtil { private static final String ACCESS_KEY = (String) YmlUtil.get("qiniu.access-key"); private static final String SECRET_KEY = (String) YmlUtil.get("qiniu.secret-key"); private static final String BUCKET = (String) YmlUtil.get("qiniu.bucket"); + private static final int TOKEN_EXPIRES = (int) YmlUtil.get("qiniu.token-expires"); + private static final String REDIS_CACHE_KEY = (String) YmlUtil.get("qiniu.redis-cache-key"); private static final Auth AUTH = Auth.create(ACCESS_KEY, SECRET_KEY); private static final BucketManager BUCKET_MANAGER = new BucketManager(AUTH, new Configuration(Region.huadong())); public static String getToken() { - return AUTH.uploadToken(BUCKET); + String token = (String) RedisUtil.get(REDIS_CACHE_KEY); + + if (token == null) { + token = AUTH.uploadToken(BUCKET); + RedisUtil.set(REDIS_CACHE_KEY, token, TOKEN_EXPIRES); + } + + return token; } public static void delete(String key) { diff --git a/java/src/main/resources/application.yml b/java/src/main/resources/application.yml index dd6ffa4..6903f37 100644 --- a/java/src/main/resources/application.yml +++ b/java/src/main/resources/application.yml @@ -58,6 +58,10 @@ qiniu: access-key: your key secret-key: your key bucket: your bucket + #七牛的临时上传凭证的有效期,单位秒 + token-expires: 3600 + #七牛的临时上传凭证的redis键名 + redis-cache-key: qiniu-token #logging: # level: