进阶 www.iris-go.com 2026-10-20 02:39:14 · 13 阅读

第26章 Iris 框架表单数据处理

表单数据 学习如何在 Iris 中处理表单数据 基础表单处理 go package main import "github.com/kataras/iris/v12" func main() { app := iris.New() app.Post("/submit", func(ctx iris.Context) { username := ctx.FormValue("username") email := ctx.FormValue("email") ctx.JSON(iris.Map{ "username": username, "email": email, }) }) app.Listen(":8080") }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
文件上传 go app.Post("/upload", iris.LimitRequestBodySize(32<<20), func(ctx iris.Context) { // Get uploaded file file, info, err := ctx.FormFile("file") if err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return } defer file.Close() // Save to disk dest := filepath.Join("./uploads", info.Filename) ctx.SaveFormFile(info, dest) ctx.JSON(iris.Map{ "filename": info.Filename, "size": info.Size, }) })1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
多文件上传 go app.Post("/upload-multiple", iris.LimitRequestBodySize(64<<20), func(ctx iris.Context) { // Get uploaded files form, err := ctx.MultipartForm() if err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return } files := form.File["files[]"] filesInfo := make([]iris.Map, 0) for _, file := range files { // Save each file dest := filepath.Join("./uploads", file.Filename) ctx.SaveFormFile(file, dest) filesInfo = append(filesInfo, iris.Map{ "filename": file.Filename, "size": file.Size, }) } ctx.JSON(iris.Map{ "uploaded": len(files), "files": filesInfo, }) })1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
表单项验证

评论 (0)