fix: 七牛 SDK 7.15 API 兼容 - BucketManager.get(url) / bodyString()

This commit is contained in:
mediabot-pt
2026-06-29 23:03:27 +08:00
parent 41f3a15ddd
commit 3cece4e07f

View File

@@ -43,8 +43,8 @@ public class QiniuStorageService implements StorageService {
@Override @Override
public void store(String path, String content) { public void store(String path, String content) {
try { try {
var resp = uploadManager.put(content.getBytes(), path, auth.uploadToken(bucket)); uploadManager.put(content.getBytes(), path, auth.uploadToken(bucket));
log.debug("Qiniu 上传: {} (hash={})", path, resp.hash); log.debug("Qiniu 上传: {}", path);
} catch (QiniuException e) { } catch (QiniuException e) {
log.error("Qiniu 上传失败 {}: {}", path, e.response != null ? e.response.error : e.getMessage()); log.error("Qiniu 上传失败 {}: {}", path, e.response != null ? e.response.error : e.getMessage());
throw new RuntimeException("Qiniu upload failed: " + path, e); throw new RuntimeException("Qiniu upload failed: " + path, e);
@@ -54,9 +54,11 @@ public class QiniuStorageService implements StorageService {
@Override @Override
public String read(String path) { public String read(String path) {
try { try {
var resp = bucketManager.get(bucket, path, null, null); // 构造公开下载 URL
if (resp != null && resp.body() != null) { String url = "http://" + bucket + ".qiniucdn.com/" + path;
return new String(resp.body()); var resp = bucketManager.get(url);
if (resp != null && resp.statusCode == 200) {
try { return resp.bodyString(); } catch (Exception e) { return new String(resp.body()); }
} }
} catch (QiniuException e) { } catch (QiniuException e) {
log.warn("Qiniu 读取失败 {}: {}", path, e.response != null ? e.response.error : e.getMessage()); log.warn("Qiniu 读取失败 {}: {}", path, e.response != null ? e.response.error : e.getMessage());
@@ -67,8 +69,7 @@ public class QiniuStorageService implements StorageService {
@Override @Override
public boolean exists(String path) { public boolean exists(String path) {
try { try {
var stat = bucketManager.stat(bucket, path); return bucketManager.stat(bucket, path) != null;
return stat != null;
} catch (QiniuException e) { } catch (QiniuException e) {
return false; return false;
} }
@@ -76,11 +77,11 @@ public class QiniuStorageService implements StorageService {
private Region getRegion(String region) { private Region getRegion(String region) {
return switch (region) { return switch (region) {
case "z0" -> Region.region0(); // 华东 case "z0" -> Region.region0();
case "z1" -> Region.region1(); // 华北 case "z1" -> Region.region1();
case "z2" -> Region.region2(); // 华南 case "z2" -> Region.region2();
case "na0" -> Region.regionNa0(); // 北美 case "na0" -> Region.regionNa0();
case "as0" -> Region.regionAs0(); // 东南亚 case "as0" -> Region.regionAs0();
default -> Region.autoRegion(); default -> Region.autoRegion();
}; };
} }