Beego请求数据的处理 | 文件上传 | Beego


 

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()
}

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM