Documentation
¶
Index ¶
- Variables
- func BackendURL() string
- func BackendUploadURL(subdir string, values ...interface{}) string
- func BatchUpload(ctx echo.Context, fieldName string, ...) (results uploadClient.Results, err error)
- func CheckerRegister(typ string, checker Checker)
- func CleanTempFile(prefix string, deleter func(folderPath string) error) error
- func ConfigChecker(ctx echo.Context, tis table.TableInfoStorer) (subdir string, name string, err error)
- func DBSaverRegister(key string, dbsaver DBSaver)
- func DBSaverUnregister(keys ...string)
- func FrontendURL() string
- func FrontendUploadURL(subdir string, values ...interface{}) string
- func ResponserAll() map[string]Responser
- func ResponserRegister(field string, responser Responser)
- func StorerAll(engine string) map[string]Constructor
- func StorerRegister(engine string, constructor Constructor)
- func SubdirAll() map[string]*SubdirInfo
- func SubdirIsAllowed(subdir string) bool
- func SubdirUnregister(subdirList ...string)
- func Token(values ...interface{}) string
- func URLParam(subdir string, values ...interface{}) string
- type APIKey
- type Checker
- type Constructor
- type DBSaver
- type Responser
- type Sizer
- type Storer
- type SubdirInfo
- func (i *SubdirInfo) Checker() Checker
- func (i *SubdirInfo) FieldName() string
- func (i *SubdirInfo) GetNameEN() string
- func (i *SubdirInfo) MustChecker() Checker
- func (i *SubdirInfo) SetAllowed(allowed bool) *SubdirInfo
- func (i *SubdirInfo) SetChecker(checker Checker) *SubdirInfo
- func (i *SubdirInfo) SetDescription(description string) *SubdirInfo
- func (i *SubdirInfo) SetFieldName(fieldName string) *SubdirInfo
- func (i *SubdirInfo) SetName(name string) *SubdirInfo
- func (i *SubdirInfo) SetNameEN(nameEN string) *SubdirInfo
- func (i *SubdirInfo) SetTableName(tableName string) *SubdirInfo
- func (i *SubdirInfo) String() string
- func (i *SubdirInfo) TableName() string
Constants ¶
This section is empty.
Variables ¶
View Source
var ( //BackendUploadPath 后台上传网址路径 BackendUploadPath = `/manager/upload` //FrontendUploadPath 前台上传网址路径 FrontendUploadPath = `/user/upload` //SetURLParamDefaultValue 设置参数默认值 SetURLParamDefaultValue func(*url.Values) )
View Source
var DefaultChecker = func(ctx echo.Context, tis table.TableInfoStorer) (subdir string, name string, err error) { refid := ctx.Formx(`refid`).String() timestamp := ctx.Formx(`time`).Int64() if len(refid) == 0 { refid = `0` } if ctx.Form(`token`) != Token(`refid`, refid, `time`, timestamp) { err = ctx.E(`令牌错误`) return } if time.Now().Local().Unix()-timestamp > UploadLinkLifeTime { err = ctx.E(`上传网址已过期`) return } subdir = fmt.Sprint(refid) + `/` tis.SetTableID(refid) return }
View Source
var ( DefaultDBSaver = func(fileM *modelFile.File, result *uploadClient.Result, reader io.Reader) error { return nil } )
View Source
var DefaultResponser = func(ctx echo.Context, field string, err error, imageURLs []string) (result echo.H, embed bool) { return echo.H{ `files`: imageURLs, }, true }
View Source
var (
ErrExistsFile = table.ErrExistsFile
)
View Source
var UploadLinkLifeTime int64 = 86400
UploadLinkLifeTime 上传链接生存时间
Functions ¶
func BackendUploadURL ¶
BackendUploadURL 构建后台上传网址
func BatchUpload ¶
func CheckerRegister ¶
func CleanTempFile ¶
CleanTempFile 清理临时文件
func ConfigChecker ¶
func ConfigChecker(ctx echo.Context, tis table.TableInfoStorer) (subdir string, name string, err error)
ConfigChecker 系统配置文件上传
func DBSaverRegister ¶
func DBSaverUnregister ¶
func DBSaverUnregister(keys ...string)
func FrontendUploadURL ¶
FrontendUploadURL 构建前台上传网址
func ResponserAll ¶
func ResponserRegister ¶
func StorerAll ¶
func StorerAll(engine string) map[string]Constructor
func StorerRegister ¶
func StorerRegister(engine string, constructor Constructor)
func SubdirAll ¶
func SubdirAll() map[string]*SubdirInfo
func SubdirIsAllowed ¶
func SubdirUnregister ¶
func SubdirUnregister(subdirList ...string)
Types ¶
type Checker ¶
func CheckerGet ¶
type Constructor ¶
var DefaultConstructor Constructor
func StorerGet ¶
func StorerGet(engine string) Constructor
type DBSaver ¶
func DBSaverGet ¶
type Responser ¶
type Responser func(ctx echo.Context, field string, err error, imageURLs []string) (result echo.H, embed bool)
func ResponserGet ¶
type Storer ¶
type Storer interface {
// 引擎名
Name() string
// FileDir 文件夹物理路径
FileDir(subpath string) string
// URLDir 文件夹网址路径
URLDir(subpath string) string
// Put 保存文件
Put(dst string, src io.Reader, size int64) (savePath string, viewURL string, err error)
// Get 获取文件
Get(file string) (io.ReadCloser, error)
// Exists 文件是否存在
Exists(file string) (bool, error)
// FileInfo 文件信息
FileInfo(file string) (os.FileInfo, error)
// SendFile 输出文件到浏览器
SendFile(ctx echo.Context, file string) error
// Delete 删除文件
Delete(file string) error
// DeleteDir 删除目录
DeleteDir(dir string) error
// PublicURL 文件网址
PublicURL(dst string) string
// URLToFile 网址转文件物理路径
URLToFile(viewURL string) string
// FixURL 修正网址
FixURL(content string, embedded ...bool) string
// FixURLWithParams 修正网址并增加网址参数
FixURLWithParams(content string, values url.Values, embedded ...bool) string
// Close 关闭连接
Close() error
}
type SubdirInfo ¶
type SubdirInfo struct {
Allowed bool
Key string
Name string
NameEN string
Description string
// contains filtered or unexported fields
}
SubdirInfo 子目录信息
func SubdirGet ¶
func SubdirGet(subdir string) *SubdirInfo
func SubdirRegister ¶
func SubdirRegister(subdir string, allow interface{}, nameAndDescription ...string) *SubdirInfo
func SubdirRegisterObject ¶
func SubdirRegisterObject(subdir string, info *SubdirInfo) *SubdirInfo
func (*SubdirInfo) Checker ¶
func (i *SubdirInfo) Checker() Checker
func (*SubdirInfo) FieldName ¶
func (i *SubdirInfo) FieldName() string
func (*SubdirInfo) GetNameEN ¶
func (i *SubdirInfo) GetNameEN() string
func (*SubdirInfo) MustChecker ¶
func (i *SubdirInfo) MustChecker() Checker
func (*SubdirInfo) SetAllowed ¶
func (i *SubdirInfo) SetAllowed(allowed bool) *SubdirInfo
func (*SubdirInfo) SetChecker ¶
func (i *SubdirInfo) SetChecker(checker Checker) *SubdirInfo
func (*SubdirInfo) SetDescription ¶
func (i *SubdirInfo) SetDescription(description string) *SubdirInfo
func (*SubdirInfo) SetFieldName ¶
func (i *SubdirInfo) SetFieldName(fieldName string) *SubdirInfo
func (*SubdirInfo) SetName ¶
func (i *SubdirInfo) SetName(name string) *SubdirInfo
func (*SubdirInfo) SetNameEN ¶
func (i *SubdirInfo) SetNameEN(nameEN string) *SubdirInfo
func (*SubdirInfo) SetTableName ¶
func (i *SubdirInfo) SetTableName(tableName string) *SubdirInfo
func (*SubdirInfo) String ¶
func (i *SubdirInfo) String() string
func (*SubdirInfo) TableName ¶
func (i *SubdirInfo) TableName() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.