Documentation ¶
Overview ¶
Package upload 提供文件上传的功能
处理上传文件,若是图片还可以设置水印。
func(w http.ResponseWriter, r *http.Request) { u, err := upload.New("~/uploads/", 1024*1024*10, ".txt", ".jpg", ".png") u.SetWatermarkFile(...) // 可根据需要设置水印图片 if r.Method="POST"{ u.Do("files", r) // 执行上传操作 } }
Index ¶
- Variables
- func UniqueFilename(filename string) string
- type Upload
- func (u *Upload) Dir() string
- func (u *Upload) Do(field string, r *http.Request) ([]string, error)
- func (u *Upload) Open(name string) (fs.File, error)
- func (u *Upload) SetFilename(f func(filename string) string)
- func (u *Upload) SetWatermark(w *watermark.Watermark)
- func (u *Upload) SetWatermarkFS(fs fs.FS, path string, padding int, pos watermark.Pos) error
- func (u *Upload) SetWatermarkFile(path string, padding int, pos watermark.Pos) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotAllowExt = errors.New("不允许的文件上传类型") ErrNotAllowSize = errors.New("文件上传大小超过最大设定值") ErrNoUploadFile = errors.New("客户端没有上传文件") )
常用错误类型
Functions ¶
func UniqueFilename ¶ added in v1.1.0
UniqueFilename 生成唯一文件名
Types ¶
type Upload ¶
type Upload struct {
// contains filtered or unexported fields
}
Upload 用于处理文件上传
func New ¶
New 声明一个 Upload 对象
dir 上传文件的保存目录,若目录不存在,则会尝试创建; format 子目录的格式,只能是时间格式; maxSize 允许上传文件的最大尺寸,单位为 byte; exts 允许的扩展名,若为空,将不允许任何文件上传。
func (*Upload) Do ¶
Do 执行上传的操作
若是多文件上传,其中某一个文件不符合要求,会中断后续操作, 但是已经处理成功的也会返回给用户,所以可能会出现两个返回参数都不为 nil 的情况。
返回的是相对于 Upload.Dir() 目录的文件名列表。
func (*Upload) SetFilename ¶ added in v1.1.0
SetFilename 设置文件名的生成方式
func (*Upload) SetWatermarkFS ¶ added in v1.1.8
SetWatermarkFS 设置水印的相关参数
path 为水印文件的路径; padding 为水印在目标不图像上的留白大小; pos 水印的位置。
Click to show internal directories.
Click to hide internal directories.