mirror of
https://github.com/yanislav-igonin/micrach
synced 2024-12-22 14:22:33 +03:00
feat: add files size check
This commit is contained in:
parent
2491d5b680
commit
44c1f56e9f
@ -125,6 +125,14 @@ func CreateThread(c *gin.Context) {
|
||||
}
|
||||
|
||||
filesInRequest := form.File["files"]
|
||||
isFilesSizesNotToBig := Utils.CheckFilesSize(filesInRequest)
|
||||
if !isFilesSizesNotToBig {
|
||||
errorHtmlData := Repositories.BadRequestHtmlData{
|
||||
Message: Repositories.InvalidFileSizeMessage,
|
||||
}
|
||||
c.HTML(http.StatusInternalServerError, "400.html", errorHtmlData)
|
||||
return
|
||||
}
|
||||
|
||||
conn, err := Db.Pool.Acquire(context.TODO())
|
||||
if err != nil {
|
||||
@ -249,6 +257,15 @@ func UpdateThread(c *gin.Context) {
|
||||
}
|
||||
|
||||
filesInRequest := form.File["files"]
|
||||
isFilesSizesNotToBig := Utils.CheckFilesSize(filesInRequest)
|
||||
if !isFilesSizesNotToBig {
|
||||
errorHtmlData := Repositories.BadRequestHtmlData{
|
||||
Message: Repositories.InvalidFileSizeMessage,
|
||||
}
|
||||
c.HTML(http.StatusInternalServerError, "400.html", errorHtmlData)
|
||||
return
|
||||
}
|
||||
|
||||
isSageField := form.Value["sage"]
|
||||
var isSageString string
|
||||
if len(isSageField) != 0 {
|
||||
|
@ -59,3 +59,4 @@ type BadRequestHtmlData struct {
|
||||
|
||||
var InvalidTitleOrTextErrorMessage = "TITLE OR TEXT SHOULD NOT BE EMPTY"
|
||||
var InvalidCaptchaErrorMessage = "INVALID CAPTCHA"
|
||||
var InvalidFileSizeMessage = "FILE SIZE EXCIDED (3MB PER FILE)"
|
||||
|
@ -5,6 +5,7 @@ import (
|
||||
"image"
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"mime/multipart"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
@ -13,6 +14,7 @@ import (
|
||||
)
|
||||
|
||||
var UPLOADS_DIR_PATH = "uploads"
|
||||
var FILE_SIZE_IN_BYTES = 3145728 // 3MB
|
||||
|
||||
// Check dir existence.
|
||||
func CheckIfFolderExists(path string) bool {
|
||||
@ -63,12 +65,27 @@ func CreateThreadFolder(postID int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// TODO: add files length check
|
||||
func ValidatePost(title, text string) bool {
|
||||
return (title == "" && text != "") ||
|
||||
(title != "" && text == "") ||
|
||||
(title != "" && text != "")
|
||||
}
|
||||
|
||||
func CheckFilesSize(files []*multipart.FileHeader) bool {
|
||||
for _, file := range files {
|
||||
if file.Size > int64(FILE_SIZE_IN_BYTES) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// func CheckFilesExt(){
|
||||
|
||||
// }
|
||||
|
||||
func MakeImageThumbnail(originalPath, ext string, threadID, fileID int) (*image.NRGBA, error) {
|
||||
img, err := imaging.Open(originalPath, imaging.AutoOrientation(true))
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user