0
我想保存由JSON发布的图像文件。如何从JSON中发布文件在杜松子酒中?
下面是文章的结构:
type Article struct {
Title string `json:"title"`
Body string `json:"body"`
File []byte `json:"file"`
}
而且处理程序是:
func PostHandler(c *gin.Context) {
var err error
var json Article
err = c.BindJSON(&json)
if err != nil {
log.Panic(err)
}
//handle photo upload
var filename string
file, header, err := json.File //assignment count mismatch: 3 = 1
if err != nil {
fmt.Println(err)
filename = ""
} else {
data, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println(err)
return
}
filename = path.Join("media", +shared.RandString(5)+path.Ext(header.Filename))
err = ioutil.WriteFile(filename, data, 0777)
if err != nil {
io.WriteString(w, err.Error())
return
}
}
...
,但我得到
分配数量不匹配:3 = 1
我复制它工作得很好的文件从工作多形式的处理程序处理的一部分,但很显然,
file, header, err := r.FormFile("uploadfile")
不能被翻译成JSON处理。
我看了杜松子酒文档,但找不到涉及json文件处理的例子。 那么我该如何解决这个问题?
对,那么如何修复我的代码来获取文件? – Karlom
你应该通过杜松子酒的文档..这里是文档中显示杜松子酒FormFile的方法https://godoc.org/github.com/gin-gonic/gin#Context.FormFile和这笔交易与上传https://godoc.org/github.com/gin-gonic/gin#Context.MultipartForm ..其所有在那里花时间,并了解文档。 – reticentroot
仍然无法弄清楚如何做到这一点。我需要一个例子。 – Karlom