не работает ограничение размера загружаемого файла - PullRequest
0 голосов
/ 15 мая 2019

я запускаю пример джина о загрузке файла, это репо с https://github.com/gin-gonic/examples/tree/5898505356e9064c49abb075eae89596a3c5cd67/upload-file/single. когда я изменяю это предел

    router.MaxMultipartMemory = 1 // 8 MiB

но не просыпается для загрузки большого файла, кто-нибудь знает это.

package main

import (
    "fmt"
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {

    router := gin.Default()
    // Set a lower memory limit for multipart forms (default is 32 MiB)
    router.MaxMultipartMemory = 1 // 8 MiB
    fmt.Println(router.MaxMultipartMemory)

    router.Static("/", "./public")
    router.POST("/upload", func(c *gin.Context) {
        ct := c.Request.Header.Get("Content-Type")
        fmt.Println(ct)
        name := c.PostForm("name")
        email := c.PostForm("email")
        // Source
        file, err := c.FormFile("file")
        if err != nil {
            c.String(http.StatusBadRequest, fmt.Sprintf("get form err: %s", err.Error()))
            return
        }

        if err := c.SaveUploadedFile(file, file.Filename); err != nil {
            c.String(http.StatusBadRequest, fmt.Sprintf("upload file err: %s", err.Error()))
            return
        }

        c.String(http.StatusOK, fmt.Sprintf("File %s uploaded successfully with fields name=%s and email=%s.", file.Filename, name, email))
    })
    router.Run(":8080")
}

Я ожидаю, что когда размер файла больше предела, должна появиться ошибка.

обновление

неправильно понимают, MaxMultipartMemory просто ограничивает память, не для размера файла загрузки файла, даже если размер файла больше, чем этот, запишет во временный файл.

1 Ответ

0 голосов
/ 21 мая 2019

как комментарий, код

  router.MaxMultipartMemory = 1 // 8 MiB

просто ограничение программа может использовать сколько памяти при загрузке файла, а не ограничение размера файла загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...