前端页面form表单
<form action="/fileupload/upload" method="post" enctype="multipart/form-data">
<input type="file" name="fileupload" /><br>
<input type="submit" value="上传" />
</form>
注意:实现文件上传的时候,form表单必须有enctype="multipart/form-data"属性;
可以自己设置上传文件的限制条件(文件大小,类型等)
控制器代码
//接收文件流并存储到本地
func (c *FileUploadController) FileHandler() {
//获取上传的文件
file, head, _ := c.GetFile("fileupload")
ext := path.Ext(head.Filename)
//限制上传文件类型
var FileAllow map[string]bool = map[string]bool{
".jpg": true,
".txt": true,
".png": true,
".go": true,
}
if _, ok := FileAllow[ext]; !ok {
c.Ctx.WriteString("文件后缀名不符合上传要求")
return
}
defer file.Close()
err:=c.SaveToFile("fileupload","static/upload/"+head.Filename)
if err != nil {
c.Ctx.WriteString("上传文件失败")
}
c.Ctx.WriteString("上传文件成功")
}
可以根据需求设置文件大小和文件后缀名。
需要自己设置路由