Private
Public Access
1
0
Files
u-desk/internal/oss/interface.go

44 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}