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 }