upload

package
v2.0.5+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2019 License: AGPL-3.0 Imports: 16 Imported by: 0

README

上传设置

Documentation

Index

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`).Uint64()
	timestamp := ctx.Formx(`time`).Int64()

	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 BackendURL

func BackendURL() string

BackendURL 后台网址

func BackendUploadURL

func BackendUploadURL(subdir string, values ...interface{}) string

BackendUploadURL 构建后台上传网址

func BatchUpload

func BatchUpload(
	ctx echo.Context,
	fieldName string,
	dstNamer func(*uploadClient.Result) (dst string, err error),
	storer Storer,
	callback func(*uploadClient.Result, multipart.File) error,
) (results uploadClient.Results, err error)

func CheckerAll

func CheckerAll() map[string]Checker

func CheckerRegister

func CheckerRegister(typ string, checker Checker)

func CleanTempFile

func CleanTempFile(prefix string, deleter func(folderPath string) error) error

CleanTempFile 清理临时文件

func DBSaverRegister

func DBSaverRegister(key string, dbsaver DBSaver)

func FrontendURL

func FrontendURL() string

FrontendURL 前台网址

func FrontendUploadURL

func FrontendUploadURL(subdir string, values ...interface{}) string

FrontendUploadURL 构建前台上传网址

func ResponserAll

func ResponserAll() map[string]Responser

func ResponserRegister

func ResponserRegister(field string, responser Responser)

func StorerAll

func StorerAll(engine string) map[string]Constructor

func StorerRegister

func StorerRegister(engine string, constructor Constructor)

func SubdirAll

func SubdirAll() map[string]bool

func SubdirIsAllowed

func SubdirIsAllowed(subdir string) bool

func SubdirRegister

func SubdirRegister(subdir string, allow bool)

func Token

func Token(values ...interface{}) string

Token 生成签名

func URLParam

func URLParam(subdir string, values ...interface{}) string

URLParam URLParam(`news`,`refid`,123)

Types

type APIKey

type APIKey interface {
	APIKey() string
}

APIKey API Key

type Checker

type Checker func(echo.Context, table.TableInfoStorer) (subdir string, name string, err error)

func CheckerGet

func CheckerGet(typ string) Checker

type Constructor

type Constructor func(ctx context.Context, typ string) Storer
var DefaultConstructor Constructor

func StorerGet

func StorerGet(engine string) Constructor

type DBSaver

type DBSaver func(fileM *modelFile.File, result *uploadClient.Result, reader io.Reader) error

func DBSaverGet

func DBSaverGet(key string) DBSaver

type Responser

type Responser func(ctx echo.Context, field string, err error, imageURLs []string) (result echo.H, embed bool)

func ResponserGet

func ResponserGet(field string) Responser

type Sizer

type Sizer interface {
	Size() int64
}

type Storer

type Storer interface {
	Engine() string
	Put(dst string, src io.Reader, size int64) (savePath string, viewURL string, err error)
	Get(file string) (io.ReadCloser, error)
	Exists(file string) (bool, error)
	FileInfo(file string) (os.FileInfo, error)
	SendFile(ctx echo.Context, file string) error
	Delete(file string) error
	DeleteDir(dir string) error
	PublicURL(dst string) string
	URLToFile(viewURL string) string
	FixURL(content string, embedded ...bool) string
	FixURLWithParams(content string, values url.Values, embedded ...bool) string
	Close() error
}

Directories

Path Synopsis
driver

Jump to

Keyboard shortcuts

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