type returnData struct { Status int Info string Data []interface{} } func (c *PostController) Post() { /* POST请求操作数据库 */ status := 1 info := "" var data []interface{} /* 请求数据处理 GetString(key string) string GetStrings(key string) []string GetInt(key string) (int64, error) GetBool(key string) (bool, error) GetFloat(key string) (float64, error) */ // 上传文件 f, h, err := c.GetFile("uploadname") if err != nil { log.Fatal("getfile err ", err) } defer f.Close() err = c.SaveToFile("uploadname", "static/upload/"+h.Filename) // 保存位置在 static/upload, 没有文件夹要先创建 fmt.Println(err) age := c.GetString("age") name := c.GetString("name") intAge, err := strconv.Atoi(age) // equivalent to ParseInt(s, 10, 0) fmt.Println(intAge) fmt.Println(err) fmt.Println(age) fmt.Println(name) // 请求数据直接绑定指定对象 //var id int //this.Ctx.Input.Bind(&id, "id") //id ==123 //var isok bool //this.Ctx.Input.Bind(&isok, "isok") //isok ==true //var ft float64 //this.Ctx.Input.Bind(&ft, "ft") //ft ==1.2 //ol := make([]int, 0, 2) //this.Ctx.Input.Bind(&ol, "ol") //ol ==[1 2] //ul := make([]string, 0, 2) //this.Ctx.Input.Bind(&ul, "ul") //ul ==[str array] //user struct{Name} //this.Ctx.Input.Bind(&user, "user") //user =={Name:"astaxie"} jsonData := &returnData{ Status: status, Info: info, Data: data, } c.Data["json"] = jsonData c.ServeJSON() }