使用Golang Gin检索发布的文件

Aar*_*nny 6 file-upload go

我现在使用Golang框架Gin一段时间没有问题,但我现在需要处理发布到我的API的图像.

我可以弄清楚如何处理验证,调整大小和存储图像,但是现在我只是想弄清楚如何抓取已发布的文件并将其分配给变量.

我查看了Gin API文档,但没有任何内容向我发出.

我正在按如下方式卷曲我的API(这可能是错的?)......

$ time curl -X POST --form upload=@ss.png -H "Content-Type: application/json"  --cookie 'session=23423v243v25c08efb5805a09b5f288329003' "http://127.0.0.1:8080/v1.0/icon" --form data='{"json_name":"test json name","title":"Test","url":"http://sometest.com"}'
Run Code Online (Sandbox Code Playgroud)

Kun*_*Jha 13

我将尝试回答检索文件名并将其分配给变量,因为处理json部分已经由@AlexAtNet处理.如果这对您有用,请告诉我

    func (c *gin.Context) {

        file, header , err := c.Request.FormFile("upload")
        filename := header.Filename
        fmt.Println(header.Filename)
        out, err := os.Create("./tmp/"+filename+".png")
        if err != nil {
            log.Fatal(err)
        }
        defer out.Close()
        _, err = io.Copy(out, file)
        if err != nil {
            log.Fatal(err)
        }   
    }
Run Code Online (Sandbox Code Playgroud)