新增: 云OSS存储集成(七牛云+阿里云)+多桶导航+GBK编码自动转换
This commit is contained in:
43
internal/oss/interface.go
Normal file
43
internal/oss/interface.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user