go如何判断表单文件的大小?

后端接收了前端批量上传的图片,我写的接收文件的代码如下。 我想限制每个图片的大小不超出500kb,但是不知道如何判断这个file的大小。 到godoc一查,发现这是个借口,貌似没提供关于查询文件大小的方法。 请问大佬这时我该如何做?(请看代码倒数第5行)

files := r.MultipartForm.File["file"] //获取上传的文件组
    length := len(files)
    //judge if the arry is empty
    if length == 0 {
        w.Write([]byte("× upload empty file... <br> "))
        return
    }
    if(length>20){
        w.Write([]byte("× upload files number more than 20 ...<br> "))
        return
    }
    //read the array and save the files
    for i := 0; i < length; i++ {
        file, err := files[i].Open()
        //the problem heappend here, how can i judge the size of file ?
        defer file.Close()
        if err != nil {
            log.Fatal(err)
        }
已邀请:

pathbox - https://pathbox.github.io/

赞同来自: BlackCarDriver

for _, fileItem := range files {
    ### fileItem.size 
    file, err := fileItem.Open()
    defer file.Close()
     if err != nil {
         log.Fatal(err)
      }
    ......
}

gosky

赞同来自:

网关配置下限制就好

BlackCarDriver

赞同来自:

问题已解决,谢谢各位!

要回复问题请先登录注册