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