Go gin框架控制器接收文件
在Go的Gin框架中,可以使用multipart
表单来上传文件。以下是一个简单的例子,展示了如何在Gin控制器中接收文件:
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
router := gin.Default()
router.POST("/upload", uploadFile)
router.Run(":8080")
}
func uploadFile(c *gin.Context) {
// 单文件上传
file, err := c.FormFile("file")
if err != nil {
c.String(http.StatusBadRequest, fmt.Sprintf("upload error: %s", err.Error()))
return
}
// 保存文件到服务器的某个路径
if err := c.SaveUploadedFile(file, file.Filename); err != nil {
c.String(http.StatusBadRequest, fmt.Sprintf("upload error: %s", err.Error()))
return
}
c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded successfully", file.Filename))
}
在这个例子中,我们定义了一个/upload
的POST路由,并在uploadFile
函数中处理文件上传。当客户端向这个路由发送一个包含file
字段的multipart/form-data
请求时,Gin会自动解析并提供这个文件。然后我们可以保存这个文件到服务器的指定位置。
评论已关闭