上传文件时后端先判是否符合条件,不符合的拒绝上传
// 文件为大小文件的依据是ParseMultipartForm的maxMemory参数的大小 // 获取文件大小的接口,上传小文件时,文件类型为:multipart.sectionReadCloser type Size interface { Size() int64 } // 获取文件信息的接口,上传大文件时,文件类型为: *os.File type Stat interface { Stat() (os.FileInfo, error) } icon, _, err := req.FormFile("icon") if statInterface, ok := icon.(Stat); ok { fileInfo, err := statInterface.Stat() if err == nil { if fileInfo.Size() > (maxIconSize) { code = errParseFileFailed msg = fmt.Sprint("上传文件不要超过", maxIconSize>>20, "M") return } } else if sizeInterface, ok := icon.(Size); ok { if sizeInterface.Size() > (maxIconSize) { code = errParseFileFailed msg = fmt.Sprint("上传文件不要超过", maxIconSize>>20, "M") return } } } if err != nil { code = errParseFileFailed msg = err.Error() return } defer icon.Close()