新增KV数据库存储附件

This commit is contained in:
eoao
2025-10-21 20:45:20 +08:00
parent dad4a22356
commit fdf9e95d67
18 changed files with 213 additions and 73 deletions

View File

@@ -1,23 +1,35 @@
import s3Service from './s3-service';
import settingService from './setting-service';
import kvObjService from './kv-obj-service';
import { settingConst } from '../const/entity-const';
const r2Service = {
async hasOSS(c) {
if (c.env.r2) {
const setting = await settingService.query(c);
const { kvStorage, bucket, endpoint, s3AccessKey, s3SecretKey } = setting;
if (kvStorage === settingConst.kvStorage.OPEN) {
return true;
}
const setting = await settingService.query(c);
const { bucket, endpoint, s3AccessKey, s3SecretKey } = setting;
if (c.env.r2) {
return true;
}
return !!(bucket && endpoint && s3AccessKey && s3SecretKey);
},
async putObj(c, key, content, metadata) {
if (c.env.r2) {
const { kvStorage } = await settingService.query(c);
if (kvStorage === settingConst.kvStorage.OPEN) {
await kvObjService.putObj(c, key, content, metadata);
} else if (c.env.r2) {
await c.env.r2.put(key, content, {
httpMetadata: { ...metadata }
@@ -37,7 +49,13 @@ const r2Service = {
async delete(c, key) {
if (c.env.r2) {
const { kvStorage } = await settingService.query(c);
if (kvStorage === settingConst.kvStorage.OPEN) {
await kvObjService.deleteObj(c, key);
} else if (c.env.r2) {
await c.env.r2.delete(key);