教程 > gin 教程 > 阅读:53

gin 文件上传——迹忆客-ag捕鱼王app官网

单个文件上传

前端页面代码


    上传文件示例

后端gin框架部分代码

package main
import (
    "fmt"
    "log"
    "net/http"
    "github.com/gin-gonic/gin"
)
func main() {
    r := gin.default()
    // 处理multipart forms提交文件时默认的内存限制是32 mib
    // 可以通过下面的方式修改
    // r.maxmultipartmemory = 8 << 20  // 8 mib
    r.post("/upload", func(c *gin.context) {
        // 单个文件
        file, err := c.formfile("f1")
        if err != nil {
            c.json(http.statusinternalservererror, gin.h{
                "message": err.error(),
            })
            return
        }
        log.println(file.filename)
        dst := fmt.sprintf("c:/tmp/%s", file.filename)
        // 上传文件到指定的目录
        c.saveuploadedfile(file, dst)
        c.json(http.statusok, gin.h{
            "message": fmt.sprintf("'%s' uploaded!", file.filename),
        })
    })
    r.run()
}

多个文件上传

package main
import (
    "fmt"
    "log"
    "net/http"
    "github.com/gin-gonic/gin"
)
func main() {
    r := gin.default()
    // 处理multipart forms提交文件时默认的内存限制是32 mib
    // 可以通过下面的方式修改
    // r.maxmultipartmemory = 8 << 20  // 8 mib
    r.post("/upload", func(c *gin.context) {
        // multipart form
        form, _ := c.multipartform()
        files := form.file["file"]
        for index, file := range files {
            log.println(file.filename)
            dst := fmt.sprintf("c:/tmp/%s_%d", file.filename, index)
            // 上传文件到指定的目录
            c.saveuploadedfile(file, dst)
        }
        c.json(http.statusok, gin.h{
            "message": fmt.sprintf("%d files uploaded!", len(files)),
        })
    })
    r.run()
}

查看笔记

扫码一下
查看教程更方便
网站地图