123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package controllers
- import (
- "cc-officialweb/models"
- "cc-officialweb/utils"
- beego "github.com/beego/beego/v2/server/web"
- "github.com/google/uuid"
- "strings"
- )
- type UploadImageController struct {
- beego.Controller
- }
- type JSON struct {
- Code int
- Msg string
- Data any
- }
- func (up *UploadImageController) Post() {
- file, header, err := up.GetFile("file")
- types := up.GetString("types")
- if err != nil {
- up.Data["json"] = &JSON{Code: 101, Msg: "上传失败"}
- up.ServeJSON()
- return
- }
- defer file.Close()
- index := strings.Split(header.Filename, ".")[1]
- if index != "jpg" && index != "png" && index != "jpeg" {
- up.Data["json"] = &JSON{Code: 102, Msg: "文件类型错误"}
- up.ServeJSON()
- return
- }
- fileName := uuid.NewString() + "." + index
- if err := up.SaveToFile("file", "./static/upload/"+fileName); err != nil {
- up.Data["json"] = &JSON{Code: 101, Msg: "上传失败"}
- up.ServeJSON()
- return
- }
- var resourse models.Resource
- resourse.Name = fileName
- resourse.Url = "/image/" + fileName
- resourse.Type = types
- tx := utils.DB.Create(&resourse)
- if tx.RowsAffected > 0 {
- up.Data["json"] = &JSON{Code: 200, Msg: "上传成功", Data: resourse.Url}
- up.ServeJSON()
- return
- }
- }
|