Documentation
¶
Index ¶
- func NewCOS(config COSConfig) (core.FileSystem, error)
- func RegisterToManager(manager interface{}, cloudManager *CloudManager) error
- func ResolveCloudDriver(ctx context.Context, driverType string, config map[string]interface{}) (core.FileSystem, error)
- type COSConfig
- type COSFile
- func (f *COSFile) Extension() string
- func (f *COSFile) IsDirectory() bool
- func (f *COSFile) LastModified() time.Time
- func (f *COSFile) Metadata() map[string]interface{}
- func (f *COSFile) MimeType() string
- func (f *COSFile) Name() string
- func (f *COSFile) Path() string
- func (f *COSFile) Read(ctx context.Context) ([]byte, error)
- func (f *COSFile) ReadStream(ctx context.Context) (io.ReadCloser, error)
- func (f *COSFile) Size() int64
- func (f *COSFile) TemporaryURL(ctx context.Context, expiration time.Duration) (string, error)
- func (f *COSFile) URL() string
- func (f *COSFile) Visibility() string
- type COSFileSystem
- func (fs *COSFileSystem) AllDirectories(ctx context.Context, directory string) ([]string, error)
- func (fs *COSFileSystem) AllFiles(ctx context.Context, directory string) ([]core.File, error)
- func (fs *COSFileSystem) Checksum(ctx context.Context, path string, algorithm string) (string, error)
- func (fs *COSFileSystem) Copy(ctx context.Context, source, destination string) error
- func (fs *COSFileSystem) CreateDirectory(ctx context.Context, path string, options ...core.WriteOption) error
- func (fs *COSFileSystem) Delete(ctx context.Context, path string) error
- func (fs *COSFileSystem) DeleteDirectory(ctx context.Context, path string) error
- func (fs *COSFileSystem) Directories(ctx context.Context, directory string) ([]string, error)
- func (fs *COSFileSystem) Exists(ctx context.Context, path string) (bool, error)
- func (fs *COSFileSystem) Files(ctx context.Context, directory string) ([]core.File, error)
- func (fs *COSFileSystem) Get(ctx context.Context, path string) (core.File, error)
- func (fs *COSFileSystem) LastModified(ctx context.Context, path string) (time.Time, error)
- func (fs *COSFileSystem) MimeType(ctx context.Context, path string) (string, error)
- func (fs *COSFileSystem) Move(ctx context.Context, source, destination string) error
- func (fs *COSFileSystem) SetVisibility(ctx context.Context, path string, visibility string) error
- func (fs *COSFileSystem) Size(ctx context.Context, path string) (int64, error)
- func (fs *COSFileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
- func (fs *COSFileSystem) URL(ctx context.Context, path string) string
- func (fs *COSFileSystem) Visibility(ctx context.Context, path string) (string, error)
- func (fs *COSFileSystem) Write(ctx context.Context, path string, content []byte, options ...core.WriteOption) error
- func (fs *COSFileSystem) WriteStream(ctx context.Context, path string, content io.Reader, ...) error
- type CloudManager
- func (m *CloudManager) GetCloud(name string) (core.FileSystem, error)
- func (m *CloudManager) GetCloudNames() []string
- func (m *CloudManager) HasCloud(name string) bool
- func (m *CloudManager) RegisterCloud(name string, fs core.FileSystem) error
- func (m *CloudManager) UnregisterCloud(name string) error
- type OSSConfig
- type OSSFile
- func (f *OSSFile) Extension() string
- func (f *OSSFile) IsDirectory() bool
- func (f *OSSFile) LastModified() time.Time
- func (f *OSSFile) Metadata() map[string]interface{}
- func (f *OSSFile) MimeType() string
- func (f *OSSFile) Name() string
- func (f *OSSFile) Path() string
- func (f *OSSFile) Read(ctx context.Context) ([]byte, error)
- func (f *OSSFile) ReadStream(ctx context.Context) (io.ReadCloser, error)
- func (f *OSSFile) Size() int64
- func (f *OSSFile) TemporaryURL(ctx context.Context, expiration time.Duration) (string, error)
- func (f *OSSFile) URL() string
- func (f *OSSFile) Visibility() string
- type OSSFileSystem
- func (fs *OSSFileSystem) AllDirectories(ctx context.Context, directory string) ([]string, error)
- func (fs *OSSFileSystem) AllFiles(ctx context.Context, directory string) ([]storage.File, error)
- func (fs *OSSFileSystem) Checksum(ctx context.Context, path, algorithm string) (string, error)
- func (fs *OSSFileSystem) Copy(ctx context.Context, source, destination string) error
- func (fs *OSSFileSystem) CreateDirectory(ctx context.Context, path string, options ...storage.WriteOption) error
- func (fs *OSSFileSystem) Delete(ctx context.Context, path string) error
- func (fs *OSSFileSystem) DeleteDirectory(ctx context.Context, path string) error
- func (fs *OSSFileSystem) Directories(ctx context.Context, directory string) ([]string, error)
- func (fs *OSSFileSystem) Exists(ctx context.Context, path string) (bool, error)
- func (fs *OSSFileSystem) Files(ctx context.Context, directory string) ([]storage.File, error)
- func (fs *OSSFileSystem) Get(ctx context.Context, path string) (storage.File, error)
- func (fs *OSSFileSystem) LastModified(ctx context.Context, path string) (time.Time, error)
- func (fs *OSSFileSystem) MimeType(ctx context.Context, path string) (string, error)
- func (fs *OSSFileSystem) Move(ctx context.Context, source, destination string) error
- func (fs *OSSFileSystem) SetVisibility(ctx context.Context, path, visibility string) error
- func (fs *OSSFileSystem) Size(ctx context.Context, path string) (int64, error)
- func (fs *OSSFileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
- func (fs *OSSFileSystem) URL(ctx context.Context, path string) string
- func (fs *OSSFileSystem) Visibility(ctx context.Context, path string) (string, error)
- func (fs *OSSFileSystem) Write(ctx context.Context, path string, content []byte, ...) error
- func (fs *OSSFileSystem) WriteStream(ctx context.Context, path string, content io.Reader, ...) error
- type Provider
- type S3Config
- type S3File
- func (f *S3File) Extension() string
- func (f *S3File) IsDirectory() bool
- func (f *S3File) LastModified() time.Time
- func (f *S3File) Metadata() map[string]interface{}
- func (f *S3File) MimeType() string
- func (f *S3File) Name() string
- func (f *S3File) Path() string
- func (f *S3File) Read(ctx context.Context) ([]byte, error)
- func (f *S3File) ReadStream(ctx context.Context) (io.ReadCloser, error)
- func (f *S3File) Size() int64
- func (f *S3File) TemporaryURL(ctx context.Context, expiration time.Duration) (string, error)
- func (f *S3File) URL() string
- func (f *S3File) Visibility() string
- type S3FileSystem
- func (fs *S3FileSystem) AllDirectories(ctx context.Context, directory string) ([]string, error)
- func (fs *S3FileSystem) AllFiles(ctx context.Context, directory string) ([]core.File, error)
- func (fs *S3FileSystem) Checksum(ctx context.Context, path, algorithm string) (string, error)
- func (fs *S3FileSystem) Copy(ctx context.Context, source, destination string) error
- func (fs *S3FileSystem) CreateDirectory(ctx context.Context, path string, options ...core.WriteOption) error
- func (fs *S3FileSystem) Delete(ctx context.Context, path string) error
- func (fs *S3FileSystem) DeleteDirectory(ctx context.Context, path string) error
- func (fs *S3FileSystem) Directories(ctx context.Context, directory string) ([]string, error)
- func (fs *S3FileSystem) Exists(ctx context.Context, path string) (bool, error)
- func (fs *S3FileSystem) Files(ctx context.Context, directory string) ([]core.File, error)
- func (fs *S3FileSystem) Get(ctx context.Context, path string) (core.File, error)
- func (fs *S3FileSystem) LastModified(ctx context.Context, path string) (time.Time, error)
- func (fs *S3FileSystem) MimeType(ctx context.Context, path string) (string, error)
- func (fs *S3FileSystem) Move(ctx context.Context, source, destination string) error
- func (fs *S3FileSystem) SetVisibility(ctx context.Context, path, visibility string) error
- func (fs *S3FileSystem) Size(ctx context.Context, path string) (int64, error)
- func (fs *S3FileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
- func (fs *S3FileSystem) URL(ctx context.Context, path string) string
- func (fs *S3FileSystem) Visibility(ctx context.Context, path string) (string, error)
- func (fs *S3FileSystem) Write(ctx context.Context, path string, content []byte, options ...core.WriteOption) error
- func (fs *S3FileSystem) WriteStream(ctx context.Context, path string, content io.Reader, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterToManager ¶
func RegisterToManager(manager interface{}, cloudManager *CloudManager) error
RegisterToManager 将云存储驱动注册到存储管理器
func ResolveCloudDriver ¶
func ResolveCloudDriver(ctx context.Context, driverType string, config map[string]interface{}) (core.FileSystem, error)
ResolveCloudDriver 根据驱动类型创建云存储驱动
Types ¶
type COSConfig ¶
type COSConfig struct {
// 腾讯云 AppID
AppID string
// 腾讯云 SecretID
SecretID string
// 腾讯云 SecretKey
SecretKey string
// 存储桶名称
Bucket string
// 区域
Region string
// 是否使用HTTPS
UseSSL bool
// 自定义域名(CDN等)
PublicURL string
// 默认文件可见性(public 或 private)
DefaultVisibility string
// 临时URL过期时间(秒)
UrlExpiry int64
}
COSConfig 腾讯云对象存储配置
type COSFile ¶
type COSFile struct {
// contains filtered or unexported fields
}
COSFile 表示COS中的文件
func (*COSFile) ReadStream ¶
ReadStream 获取文件的读取流
func (*COSFile) TemporaryURL ¶
TemporaryURL 获取文件的临时URL
type COSFileSystem ¶
type COSFileSystem struct {
// contains filtered or unexported fields
}
COSFileSystem 腾讯云对象存储文件系统
func (*COSFileSystem) AllDirectories ¶
AllDirectories 递归列出目录下的所有子目录
func (*COSFileSystem) Checksum ¶
func (fs *COSFileSystem) Checksum(ctx context.Context, path string, algorithm string) (string, error)
Checksum 计算文件校验和
func (*COSFileSystem) Copy ¶
func (fs *COSFileSystem) Copy(ctx context.Context, source, destination string) error
Copy 复制文件
func (*COSFileSystem) CreateDirectory ¶
func (fs *COSFileSystem) CreateDirectory(ctx context.Context, path string, options ...core.WriteOption) error
CreateDirectory 创建目录
func (*COSFileSystem) Delete ¶
func (fs *COSFileSystem) Delete(ctx context.Context, path string) error
Delete 删除文件
func (*COSFileSystem) DeleteDirectory ¶
func (fs *COSFileSystem) DeleteDirectory(ctx context.Context, path string) error
DeleteDirectory 删除目录及其内容
func (*COSFileSystem) Directories ¶
Directories 列出目录下的所有子目录
func (*COSFileSystem) LastModified ¶
LastModified 获取文件修改时间
func (*COSFileSystem) Move ¶
func (fs *COSFileSystem) Move(ctx context.Context, source, destination string) error
Move 移动文件
func (*COSFileSystem) SetVisibility ¶
SetVisibility 设置文件可见性
func (*COSFileSystem) TemporaryURL ¶
func (fs *COSFileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
TemporaryURL 获取临时URL
func (*COSFileSystem) URL ¶
func (fs *COSFileSystem) URL(ctx context.Context, path string) string
URL 获取文件URL
func (*COSFileSystem) Visibility ¶
Visibility 获取文件可见性
func (*COSFileSystem) Write ¶
func (fs *COSFileSystem) Write(ctx context.Context, path string, content []byte, options ...core.WriteOption) error
Write 写入文件内容
func (*COSFileSystem) WriteStream ¶
func (fs *COSFileSystem) WriteStream(ctx context.Context, path string, content io.Reader, options ...core.WriteOption) error
WriteStream 通过流写入文件
type CloudManager ¶
type CloudManager struct {
// contains filtered or unexported fields
}
CloudManager 云存储管理器
func (*CloudManager) GetCloud ¶
func (m *CloudManager) GetCloud(name string) (core.FileSystem, error)
GetCloud 获取云存储驱动
func (*CloudManager) GetCloudNames ¶
func (m *CloudManager) GetCloudNames() []string
GetCloudNames 获取所有已注册的云存储驱动名称
func (*CloudManager) HasCloud ¶
func (m *CloudManager) HasCloud(name string) bool
HasCloud 检查云存储驱动是否存在
func (*CloudManager) RegisterCloud ¶
func (m *CloudManager) RegisterCloud(name string, fs core.FileSystem) error
RegisterCloud 注册云存储驱动
func (*CloudManager) UnregisterCloud ¶
func (m *CloudManager) UnregisterCloud(name string) error
UnregisterCloud 注销云存储驱动
type OSSConfig ¶
type OSSConfig struct {
// Endpoint 端点URL
Endpoint string
// AccessKeyID 访问密钥ID
AccessKeyID string
// AccessKeySecret 访问密钥
AccessKeySecret string
// Bucket 存储桶名称
Bucket string
// PublicURL 公共URL前缀
PublicURL string
// UseSSL 是否使用SSL
UseSSL bool
// DefaultVisibility 默认可见性
DefaultVisibility string
// ConnectTimeout 连接超时
ConnectTimeout time.Duration
// ReadWriteTimeout 读写超时
ReadWriteTimeout time.Duration
// EnableCRC 是否启用CRC校验
EnableCRC bool
}
OSSConfig 阿里云OSS配置选项
type OSSFile ¶
type OSSFile struct {
// contains filtered or unexported fields
}
OSSFile 表示OSS上的文件
func (*OSSFile) LastModified ¶
LastModified 实现storage.File接口
func (*OSSFile) ReadStream ¶
ReadStream 实现storage.File接口
func (*OSSFile) TemporaryURL ¶
TemporaryURL 实现storage.File接口
type OSSFileSystem ¶
type OSSFileSystem struct {
// contains filtered or unexported fields
}
OSSFileSystem 实现基于OSS的文件系统
func (*OSSFileSystem) AllDirectories ¶
AllDirectories 实现storage.FileSystem接口
func (*OSSFileSystem) Copy ¶
func (fs *OSSFileSystem) Copy(ctx context.Context, source, destination string) error
Copy 实现storage.FileSystem接口
func (*OSSFileSystem) CreateDirectory ¶
func (fs *OSSFileSystem) CreateDirectory(ctx context.Context, path string, options ...storage.WriteOption) error
CreateDirectory 实现storage.FileSystem接口
func (*OSSFileSystem) Delete ¶
func (fs *OSSFileSystem) Delete(ctx context.Context, path string) error
Delete 实现storage.FileSystem接口
func (*OSSFileSystem) DeleteDirectory ¶
func (fs *OSSFileSystem) DeleteDirectory(ctx context.Context, path string) error
DeleteDirectory 实现storage.FileSystem接口
func (*OSSFileSystem) Directories ¶
Directories 实现storage.FileSystem接口
func (*OSSFileSystem) LastModified ¶
LastModified 实现storage.FileSystem接口
func (*OSSFileSystem) Move ¶
func (fs *OSSFileSystem) Move(ctx context.Context, source, destination string) error
Move 实现storage.FileSystem接口
func (*OSSFileSystem) SetVisibility ¶
func (fs *OSSFileSystem) SetVisibility(ctx context.Context, path, visibility string) error
SetVisibility 实现storage.FileSystem接口
func (*OSSFileSystem) TemporaryURL ¶
func (fs *OSSFileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
TemporaryURL 实现storage.FileSystem接口
func (*OSSFileSystem) URL ¶
func (fs *OSSFileSystem) URL(ctx context.Context, path string) string
URL 实现storage.FileSystem接口
func (*OSSFileSystem) Visibility ¶
Visibility 实现storage.FileSystem接口
func (*OSSFileSystem) Write ¶
func (fs *OSSFileSystem) Write(ctx context.Context, path string, content []byte, options ...storage.WriteOption) error
Write 实现storage.FileSystem接口
func (*OSSFileSystem) WriteStream ¶
func (fs *OSSFileSystem) WriteStream(ctx context.Context, path string, content io.Reader, options ...storage.WriteOption) error
WriteStream 实现storage.FileSystem接口
type Provider ¶
type Provider interface {
// RegisterCloud 注册云存储驱动
RegisterCloud(name string, fs core.FileSystem) error
// UnregisterCloud 注销云存储驱动
UnregisterCloud(name string) error
// GetCloud 获取云存储驱动
GetCloud(name string) (core.FileSystem, error)
// HasCloud 检查云存储驱动是否存在
HasCloud(name string) bool
// GetCloudNames 获取所有已注册的云存储驱动名称
GetCloudNames() []string
}
Provider 云存储提供者接口
type S3Config ¶
type S3Config struct {
// Endpoint 端点URL
Endpoint string
// Region 区域
Region string
// Bucket 存储桶名称
Bucket string
// AccessKey 访问密钥ID
AccessKey string
// SecretKey 访问密钥
SecretKey string
// UseSSL 是否使用SSL
UseSSL bool
// PublicURL 公共URL前缀
PublicURL string
// ForcePathStyle 是否强制使用路径风格的URL
ForcePathStyle bool
// DefaultVisibility 默认可见性
DefaultVisibility string
// 是否禁用虚拟主机样式寻址
DisableVirtualHostStyle bool
}
S3Config S3配置选项
type S3File ¶
type S3File struct {
// contains filtered or unexported fields
}
S3File 表示S3上的文件
func (*S3File) LastModified ¶
LastModified 实现storage.File接口
func (*S3File) ReadStream ¶
ReadStream 实现storage.File接口
func (*S3File) TemporaryURL ¶
TemporaryURL 实现storage.File接口
type S3FileSystem ¶
type S3FileSystem struct {
// contains filtered or unexported fields
}
S3FileSystem 实现基于S3的文件系统
func (*S3FileSystem) AllDirectories ¶
AllDirectories 实现storage.FileSystem接口
func (*S3FileSystem) Copy ¶
func (fs *S3FileSystem) Copy(ctx context.Context, source, destination string) error
Copy 实现storage.FileSystem接口
func (*S3FileSystem) CreateDirectory ¶
func (fs *S3FileSystem) CreateDirectory(ctx context.Context, path string, options ...core.WriteOption) error
CreateDirectory 实现storage.FileSystem接口
func (*S3FileSystem) Delete ¶
func (fs *S3FileSystem) Delete(ctx context.Context, path string) error
Delete 实现storage.FileSystem接口
func (*S3FileSystem) DeleteDirectory ¶
func (fs *S3FileSystem) DeleteDirectory(ctx context.Context, path string) error
DeleteDirectory 实现storage.FileSystem接口
func (*S3FileSystem) Directories ¶
Directories 实现storage.FileSystem接口
func (*S3FileSystem) LastModified ¶
LastModified 实现storage.FileSystem接口
func (*S3FileSystem) Move ¶
func (fs *S3FileSystem) Move(ctx context.Context, source, destination string) error
Move 实现storage.FileSystem接口
func (*S3FileSystem) SetVisibility ¶
func (fs *S3FileSystem) SetVisibility(ctx context.Context, path, visibility string) error
SetVisibility 实现storage.FileSystem接口
func (*S3FileSystem) TemporaryURL ¶
func (fs *S3FileSystem) TemporaryURL(ctx context.Context, path string, expiration time.Duration) (string, error)
TemporaryURL 实现storage.FileSystem接口
func (*S3FileSystem) URL ¶
func (fs *S3FileSystem) URL(ctx context.Context, path string) string
URL 实现storage.FileSystem接口
func (*S3FileSystem) Visibility ¶
Visibility 实现storage.FileSystem接口
func (*S3FileSystem) Write ¶
func (fs *S3FileSystem) Write(ctx context.Context, path string, content []byte, options ...core.WriteOption) error
Write 实现storage.FileSystem接口
func (*S3FileSystem) WriteStream ¶
func (fs *S3FileSystem) WriteStream(ctx context.Context, path string, content io.Reader, options ...core.WriteOption) error
WriteStream 实现storage.FileSystem接口