Documentation
¶
Index ¶
- func HandleSIZE(param string, client ftpserver.ClientDriver) (int, string)
- func List(ctx context.Context, path string) ([]os.FileInfo, error)
- func Mkdir(ctx context.Context, path string) error
- func Remove(ctx context.Context, path string) error
- func Rename(ctx context.Context, oldPath, newPath string) error
- func Stat(ctx context.Context, path string) (os.FileInfo, error)
- type AferoAdapter
- func (a *AferoAdapter) Chmod(_ string, _ os.FileMode) error
- func (a *AferoAdapter) Chown(_ string, _, _ int) error
- func (a *AferoAdapter) Chtimes(_ string, _ time.Time, _ time.Time) error
- func (a *AferoAdapter) Create(_ string) (afero.File, error)
- func (a *AferoAdapter) GetHandle(name string, flags int, offset int64) (ftpserver.FileTransfer, error)
- func (a *AferoAdapter) Mkdir(name string, _ os.FileMode) error
- func (a *AferoAdapter) MkdirAll(path string, perm os.FileMode) error
- func (a *AferoAdapter) Name() string
- func (a *AferoAdapter) Open(_ string) (afero.File, error)
- func (a *AferoAdapter) OpenFile(_ string, _ int, _ os.FileMode) (afero.File, error)
- func (a *AferoAdapter) ReadDir(name string) ([]os.FileInfo, error)
- func (a *AferoAdapter) Remove(name string) error
- func (a *AferoAdapter) RemoveAll(path string) error
- func (a *AferoAdapter) Rename(oldName, newName string) error
- func (a *AferoAdapter) SetNextFileSize(size int64)
- func (a *AferoAdapter) Site(param string) *ftpserver.AnswerCommand
- func (a *AferoAdapter) Stat(name string) (os.FileInfo, error)
- type FileDownloadProxy
- type FileUploadProxy
- type FileUploadWithLengthProxy
- type OsFileInfoAdapter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleSIZE ¶
func HandleSIZE(param string, client ftpserver.ClientDriver) (int, string)
HandleSIZE 处理FTP SIZE命令,用于设置下一个上传文件的大小 param: SIZE命令的参数(文件大小) client: FTP客户端驱动 返回状态码和响应消息
Types ¶
type AferoAdapter ¶
type AferoAdapter struct {
// contains filtered or unexported fields
}
AferoAdapter 实现了afero.Fs接口,用于将OpenList的文件系统操作适配到Afero接口
func NewAferoAdapter ¶
func NewAferoAdapter(ctx context.Context) *AferoAdapter
NewAferoAdapter 创建一个新的AferoAdapter实例
func (*AferoAdapter) Chmod ¶
func (a *AferoAdapter) Chmod(_ string, _ os.FileMode) error
Chmod 更改文件或目录的权限(不支持)
func (*AferoAdapter) Chown ¶
func (a *AferoAdapter) Chown(_ string, _, _ int) error
Chown 更改文件或目录的所有者(不支持)
func (*AferoAdapter) Create ¶
func (a *AferoAdapter) Create(_ string) (afero.File, error)
Create 创建文件(未实现,使用GetHandle代替)
func (*AferoAdapter) GetHandle ¶
func (a *AferoAdapter) GetHandle(name string, flags int, offset int64) (ftpserver.FileTransfer, error)
GetHandle 获取文件传输句柄,用于文件上传和下载
func (*AferoAdapter) Mkdir ¶
func (a *AferoAdapter) Mkdir(name string, _ os.FileMode) error
Mkdir 创建目录
func (*AferoAdapter) MkdirAll ¶
func (a *AferoAdapter) MkdirAll(path string, perm os.FileMode) error
MkdirAll 创建目录及其所有不存在的父目录
func (*AferoAdapter) Open ¶
func (a *AferoAdapter) Open(_ string) (afero.File, error)
Open 打开文件(未实现,使用GetHandle代替)
func (*AferoAdapter) ReadDir ¶
func (a *AferoAdapter) ReadDir(name string) ([]os.FileInfo, error)
ReadDir 读取目录内容
func (*AferoAdapter) RemoveAll ¶
func (a *AferoAdapter) RemoveAll(path string) error
RemoveAll 删除文件或目录及其内容
func (*AferoAdapter) Rename ¶
func (a *AferoAdapter) Rename(oldName, newName string) error
Rename 重命名文件或目录
func (*AferoAdapter) SetNextFileSize ¶
func (a *AferoAdapter) SetNextFileSize(size int64)
SetNextFileSize 设置下一个将要上传的文件大小
func (*AferoAdapter) Site ¶
func (a *AferoAdapter) Site(param string) *ftpserver.AnswerCommand
Site 处理FTP SITE命令
type FileDownloadProxy ¶
type FileDownloadProxy struct {
ftpserver.FileTransfer
// contains filtered or unexported fields
}
FileDownloadProxy 文件下载代理,实现了ftpserver.FileTransfer接口
func OpenDownload ¶
OpenDownload 打开一个文件用于下载 ctx: 上下文,包含用户信息和其他元数据 reqPath: 请求的文件路径 offset: 开始读取的偏移量 返回文件下载代理和错误
func (*FileDownloadProxy) Read ¶
func (f *FileDownloadProxy) Read(p []byte) (n int, err error)
Read 从文件读取数据
type FileUploadProxy ¶
type FileUploadProxy struct {
ftpserver.FileTransfer
// contains filtered or unexported fields
}
FileUploadProxy 文件上传代理,实现了ftpserver.FileTransfer接口
func OpenUpload ¶
OpenUpload 打开一个文件用于上传 ctx: 上下文 path: 目标文件路径 trunc: 是否截断已存在的文件
func (*FileUploadProxy) Read ¶
func (f *FileUploadProxy) Read(p []byte) (n int, err error)
Read 从文件读取数据(不支持)
type FileUploadWithLengthProxy ¶
type FileUploadWithLengthProxy struct {
ftpserver.FileTransfer
// contains filtered or unexported fields
}
FileUploadWithLengthProxy 具有预定义长度的文件上传代理
func OpenUploadWithLength ¶
func OpenUploadWithLength(ctx context.Context, path string, trunc bool, length int64) (*FileUploadWithLengthProxy, error)
OpenUploadWithLength 打开一个具有预定义长度的文件用于上传 ctx: 上下文 path: 目标文件路径 trunc: 是否截断已存在的文件 length: 文件大小
func (*FileUploadWithLengthProxy) Close ¶
func (f *FileUploadWithLengthProxy) Close() error
Close 关闭上传代理并完成文件上传
func (*FileUploadWithLengthProxy) Read ¶
func (f *FileUploadWithLengthProxy) Read(p []byte) (n int, err error)
Read 从文件读取数据(不支持)
type OsFileInfoAdapter ¶
type OsFileInfoAdapter struct {
// contains filtered or unexported fields
}
OsFileInfoAdapter 将model.Obj适配为os.FileInfo接口