新增支持s3协议对象存储

This commit is contained in:
eoao
2025-08-31 12:04:19 +08:00
parent 562528e968
commit 86a80900c1
27 changed files with 1981 additions and 277 deletions

View File

@@ -1,8 +1,34 @@
import s3Service from './s3-service';
import settingService from './setting-service';
const r2Service = {
async hasOSS(c) {
if (c.env.r2) {
return true;
}
const setting = await settingService.query(c);
const { bucket, region, endpoint, s3AccessKey, s3SecretKey } = setting;
return !!(bucket && region && endpoint && s3AccessKey && s3SecretKey);
},
async putObj(c, key, content, metadata) {
await c.env.r2.put(key, content, {
httpMetadata: {...metadata}
});
if (c.env.r2) {
await c.env.r2.put(key, content, {
httpMetadata: { ...metadata }
});
} else {
await s3Service.putObj(c, key, content, metadata);
}
},
async getObj(c, key) {
@@ -10,7 +36,17 @@ const r2Service = {
},
async delete(c, key) {
await c.env.r2.delete(key);
if (c.env.r2) {
await c.env.r2.delete(key);
} else {
await s3Service.deleteObj(c, key);
}
}
};