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