Private
Public Access
1
0

新增: 云OSS存储集成(七牛云+阿里云)+多桶导航+GBK编码自动转换

This commit is contained in:
2026-05-05 03:18:47 +08:00
parent eb5b85e007
commit b4f4b4627d
34 changed files with 5225 additions and 48 deletions

43
internal/oss/interface.go Normal file
View File

@@ -0,0 +1,43 @@
package oss
import (
"context"
"io"
"time"
)
// OSSProvider 对象存储提供者接口
type OSSProvider interface {
// Upload 上传文件
Upload(ctx context.Context, key string, reader io.Reader, options *UploadOptions) (*UploadResult, error)
// Download 下载文件
Download(ctx context.Context, key string, writer io.Writer) error
// Delete 删除文件
Delete(ctx context.Context, key string) error
// DeleteMultiple 批量删除文件
DeleteMultiple(ctx context.Context, keys []string) (*DeleteResult, error)
// GetFileInfo 获取文件信息
GetFileInfo(ctx context.Context, key string) (*FileInfo, error)
// ListFiles 列举文件
ListFiles(ctx context.Context, options *ListOptions) (*ListResult, error)
// GetSignedURL 获取预签名URL用于私有文件分享
GetSignedURL(ctx context.Context, key string, expiresIn time.Duration) (string, error)
// Copy 复制文件
Copy(ctx context.Context, sourceKey, targetKey string) error
// Move 移动/重命名文件
Move(ctx context.Context, sourceKey, targetKey string) error
// Exists 检查文件是否存在
Exists(ctx context.Context, key string) (bool, error)
// Close 关闭连接
Close() error
}