func (this *UploadRouter) Post() { result := map[string]interface{}{ "success": false, } defer func() { this.Data["json"] = &result this.ServeJson() }() // check permition if !this.User.IsActive { return } // get file object file, handler, err := this.Ctx.Request.FormFile("image") if err != nil { return } defer file.Close() t := time.Now() image := models.Image{} image.User = &this.User // get mime type mime := handler.Header.Get("Content-Type") // save and resize image if err := attachment.SaveImage(&image, file, mime, handler.Filename, t); err != nil { beego.Error(err) return } result["link"] = image.LinkMiddle() result["success"] = true }