2023-04-28 Go基础——gin-2

gin中c.FormFile是什么

c.FormFilegin 框架中的一个方法,用于获取 HTTP 请求中的上传文件。具体来说,它可以从 multipart/form-data 格式的请求中获取上传的文件,并将其保存到服务器本地的临时文件中,最后返回一个 *multipart.FileHeader 对象。

FormFile 方法的使用方式如下:

func uploadHandler(c *gin.Context) {
    // 获取上传的文件
    file, err := c.FormFile("file")
    if err != nil {
        c.String(http.StatusBadRequest, fmt.Sprintf("get form err: %s", err.Error()))
        return
    }
    
    // 将上传的文件保存到服务器本地
    err = c.SaveUploadedFile(file, file.Filename)
    if 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", file.Filename))
}

在上面的示例中,首先通过 c.FormFile("file") 方法获取上传的文件,其中 "file" 表示表单中文件上传组件的名称。然后,使用 c.SaveUploadedFile(file, file.Filename) 方法将上传的文件保存到服务器本地,其中 file.Filename 表示上传文件的原始文件名。

需要注意的是,FormFile 方法只能用于 multipart/form-data 格式的请求,如果请求的 Content-Type 不是 multipart/form-data,则会返回错误。此外,FormFile 方法只能获取单个文件,如果请求中包含多个上传文件,需要使用 FormFile 方法多次进行获取。

posted @ 2024-03-08 21:40  lovevivi121  阅读(39)  评论(0)    收藏  举报  来源