remote

package
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package remote 提供多种远程存储方式的统一接口。

Index

Constants

View Source
const (
	TypeFTP  = "ftp"  // FTP存储类型
	TypeSFTP = "sftp" // SFTP存储类型
	TypeCOS  = "cos"  // 腾讯云COS存储类型
	TypeOSS  = "oss"  // 阿里云OSS存储类型
)

存储类型常量定义

Variables

This section is empty.

Functions

This section is empty.

Types

type COSClient

type COSClient struct {
	// contains filtered or unexported fields
}

COSClient 实现了腾讯云COS存储的客户端。 注意:COSClient是并发安全的。

func NewCOSClient

func NewCOSClient(config COSConfig) (*COSClient, error)

NewCOSClient 创建一个新的COS客户端。

func (*COSClient) Close

func (c *COSClient) Close() error

Close 实现了Client接口的Close方法。

func (*COSClient) Delete

func (c *COSClient) Delete(ctx context.Context, remotePath string) error

Delete 实现了Client接口的Delete方法。

func (*COSClient) Download

func (c *COSClient) Download(ctx context.Context, remotePath string) ([]byte, error)

Download 实现了Client接口的Download方法。

func (*COSClient) List

func (c *COSClient) List(ctx context.Context, options ListOptions) (ListResult, error)

List 实现了Client接口的List方法。

func (*COSClient) Upload

func (c *COSClient) Upload(ctx context.Context, remotePath string, data []byte) error

Upload 实现了Client接口的Upload方法。

type COSConfig

type COSConfig jcbaseGo.COSStruct

COSConfig 定义了腾讯云COS的配置参数。

type Client

type Client interface {
	Upload(ctx context.Context, remotePath string, data []byte) error
	Download(ctx context.Context, remotePath string) ([]byte, error)
	Delete(ctx context.Context, remotePath string) error
	List(ctx context.Context, options ListOptions) (ListResult, error)
	Close() error
}

Client 定义了远程存储的统一接口。 注意:所有方法都应是并发安全的。

func NewClient

func NewClient(storageType string, config interface{}, args ...ssh.HostKeyCallback) (Client, error)

NewClient 创建一个新的远程存储客户端。 - storageType 远程附件类型 - config 远程附件连接配置 - hostKeyCallback 主机密钥回调,选填,仅sftp有效

type Error

type Error struct {
	Op  string // 操作名称,如"Upload"
	Err error  // 实际的错误
}

Error 定义了统一的错误类型

func (*Error) Error

func (e *Error) Error() string

func (*Error) Unwrap

func (e *Error) Unwrap() error

type FTPClient

type FTPClient struct {
	// contains filtered or unexported fields
}

FTPClient 实现了FTP存储的客户端。 注意:FTPClient是并发安全的。

func NewFTPClient

func NewFTPClient(config FTPConfig) (*FTPClient, error)

NewFTPClient 创建一个新的FTP客户端。

func (*FTPClient) Close

func (c *FTPClient) Close() error

Close 实现了Client接口的Close方法。

func (*FTPClient) Delete

func (c *FTPClient) Delete(ctx context.Context, remotePath string) error

Delete 实现了Client接口的Delete方法。

func (*FTPClient) Download

func (c *FTPClient) Download(ctx context.Context, remotePath string) ([]byte, error)

Download 实现了Client接口的Download方法。

func (*FTPClient) List

func (c *FTPClient) List(ctx context.Context, options ListOptions) (ListResult, error)

List 实现了Client接口的List方法。

func (*FTPClient) Upload

func (c *FTPClient) Upload(ctx context.Context, remotePath string, data []byte) error

Upload 实现了Client接口的Upload方法。

type FTPConfig

type FTPConfig jcbaseGo.FTPStruct

FTPConfig 定义了FTP存储的配置参数。

type FileInfo

type FileInfo struct {
	Name    string    // 文件名
	Size    int64     // 文件大小(字节)
	ModTime time.Time // 修改时间
	IsDir   bool      // 是否为目录
}

FileInfo 定义了文件的元数据信息

type ListOptions

type ListOptions struct {
	Prefix  string // 文件名前缀过滤,可选
	Marker  string // 分页标记,可选
	MaxKeys int    // 每次返回的最大文件数量,可选
}

ListOptions 定义了分页和过滤选项

type ListResult

type ListResult struct {
	Files       []FileInfo // 文件信息列表
	NextMarker  string     // 下一个分页标记
	IsTruncated bool       // 是否还有更多数据
}

ListResult 定义了List方法的返回结果

type OSSClient

type OSSClient struct {
	// contains filtered or unexported fields
}

OSSClient 实现了阿里云OSS存储的客户端。 注意:OSSClient是并发安全的。

func NewOSSClient

func NewOSSClient(config OSSConfig) (*OSSClient, error)

NewOSSClient 创建一个新的OSS客户端。

func (*OSSClient) Close

func (c *OSSClient) Close() error

Close 实现了Client接口的Close方法。

func (*OSSClient) Delete

func (c *OSSClient) Delete(ctx context.Context, remotePath string) error

Delete 实现了Client接口的Delete方法。

func (*OSSClient) Download

func (c *OSSClient) Download(ctx context.Context, remotePath string) ([]byte, error)

Download 实现了Client接口的Download方法。

func (*OSSClient) List

func (c *OSSClient) List(ctx context.Context, options ListOptions) (ListResult, error)

List 实现了Client接口的List方法。

func (*OSSClient) Upload

func (c *OSSClient) Upload(ctx context.Context, remotePath string, data []byte) error

Upload 实现了Client接口的Upload方法。

type OSSConfig

type OSSConfig jcbaseGo.OSSStruct

OSSConfig 定义了阿里云OSS的配置参数。

type SFTPClient

type SFTPClient struct {
	// contains filtered or unexported fields
}

SFTPClient 实现了SFTP存储的客户端。 注意:SFTPClient是并发安全的。

func NewSFTPClient

func NewSFTPClient(config SFTPConfig, args ...ssh.HostKeyCallback) (*SFTPClient, error)

NewSFTPClient 创建一个新的SFTP客户端。

func (*SFTPClient) Close

func (c *SFTPClient) Close() error

Close 实现了Client接口的Close方法。

func (*SFTPClient) Delete

func (c *SFTPClient) Delete(ctx context.Context, remotePath string) error

Delete 实现了Client接口的Delete方法。

func (*SFTPClient) Download

func (c *SFTPClient) Download(ctx context.Context, remotePath string) ([]byte, error)

Download 实现了Client接口的Download方法。

func (*SFTPClient) List

func (c *SFTPClient) List(ctx context.Context, options ListOptions) (ListResult, error)

List 实现了Client接口的List方法。

func (*SFTPClient) Upload

func (c *SFTPClient) Upload(ctx context.Context, remotePath string, data []byte) error

Upload 实现了Client接口的Upload方法。

type SFTPConfig

type SFTPConfig jcbaseGo.SFTPStruct

SFTPConfig 定义了SFTP存储的配置参数。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL