Documentation
¶
Index ¶
- func CalculateFileIdent(platform, userId string, file io.Reader) (string, error)
- func CalculateFileInfoIdent(targetId, src string) (string, error)
- func DeleteFile(ident string) error
- func DeleteFileInfo(ident string) error
- func GetPath(path string) (string, error)
- func InternalURL(meta *FileMetadata) string
- func InternalURLPrefix() string
- func ParseInternalURL(url string) (string, string, string, bool)
- func StartFileServer(conf *config.Config)
- type FileInfo
- type FileInfoDatabase
- type FileMetadata
- type FileServer
- type MetaDatabase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateFileIdent ¶
CalculateFileIdent 计算文件标识符
func CalculateFileInfoIdent ¶
CalculateFileInfoIdent 计算文件信息标识符
func ParseInternalURL ¶
ParseInternalURL 解析内部链接
Types ¶
type FileInfo ¶
type FileInfo struct {
ID string `json:"id"` // 文件唯一标识 ID
FileInfo string `json:"file_info"` // 开放平台返回的文件信息
CreateAt uint64 `json:"create_at"` // 文件创建时间戳
TTL uint64 `json:"ttl"` // 文件有效时间
// contains filtered or unexported fields
}
FileInfo 文件信息
func SaveFileInfo ¶
SaveFileInfo 保存文件信息
func (*FileInfo) MarshalBinary ¶
MarshalBinary 序列化文件信息为二进制
func (*FileInfo) UnmarshalBinary ¶
UnmarshalBinary 反序列化二进制数据为文件信息
type FileInfoDatabase ¶
FileInfoDatabase 文件信息数据库
func (*FileInfoDatabase) DeleteFileInfo ¶
func (db *FileInfoDatabase) DeleteFileInfo(ident string) error
DeleteFileInfo 删除文件信息
func (*FileInfoDatabase) GetFileInfo ¶
func (db *FileInfoDatabase) GetFileInfo(ident string) (*FileInfo, error)
GetFileInfo 获取文件信息
func (*FileInfoDatabase) GetFileInfos ¶
func (db *FileInfoDatabase) GetFileInfos() (map[string]*FileInfo, error)
GetFileInfos 获取所有文件信息
func (*FileInfoDatabase) SaveFileInfo ¶
func (db *FileInfoDatabase) SaveFileInfo(ident string, info *FileInfo) error
SaveFileInfo 保存文件信息
type FileMetadata ¶
type FileMetadata struct {
ID string `json:"id"` // 文件唯一标识 ID
Name string `json:"name"` // 文件名
URL string `json:"url"` // 文件内部链接
Path string `json:"path"` // 文件存储相对路径
ContentType string `json:"content_type"` // 文件内容类型
CreateAt uint64 `json:"create_at"` // 文件创建时间戳
TTL uint64 `json:"ttl"` // 文件有效时间
// contains filtered or unexported fields
}
FileMetadata 文件元数据
func SaveFile ¶
func SaveFile(file io.Reader, platform, userId, name, fileType string) (*FileMetadata, error)
SaveFile 保存文件并返回内部链接
func (*FileMetadata) MarshalBinary ¶
func (m *FileMetadata) MarshalBinary() ([]byte, error)
MarshalBinary 序列化文件元数据为二进制
func (*FileMetadata) UnmarshalBinary ¶
func (m *FileMetadata) UnmarshalBinary(data []byte) error
UnmarshalBinary 反序列化二进制数据为文件元数据
type FileServer ¶
type FileServer struct {
// URL 文件服务器 URL
URL string
// EnableLocalFileServer 是否使用本地文件服务器
Enable bool
// TTL 默认文件有效期
TTL time.Duration
// MetaDB 文件元数据数据库
MetaDB *MetaDatabase
// FileInfoDB 文件信息数据库
FileInfoDB *FileInfoDatabase
// contains filtered or unexported fields
}
FileServer 文件服务器
type MetaDatabase ¶
MetaDatabase 文件元数据数据库
func (*MetaDatabase) DeleteFileMeta ¶
func (db *MetaDatabase) DeleteFileMeta(ident string) error
DeleteFileMeta 删除文件元数据
func (*MetaDatabase) GetFileMeta ¶
func (db *MetaDatabase) GetFileMeta(ident string) (*FileMetadata, error)
GetFileMeta 获取文件元数据
func (*MetaDatabase) GetFileMetas ¶
func (db *MetaDatabase) GetFileMetas() (map[string]*FileMetadata, error)
GetFileMetas 获取所有文件元数据
func (*MetaDatabase) SaveFileMeta ¶
func (db *MetaDatabase) SaveFileMeta(ident string, meta *FileMetadata) error
SaveFileMeta 保存文件元数据
Click to show internal directories.
Click to hide internal directories.