新增支持s3协议对象存储
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user