beego上传图片保存到本地

beego上传图片保存到本地

      今天跟大家分享beego如何上传图片并将图片保存至本地,代码如下:

package controllers

import (
   "log"
   "path"
   "time"
   "fmt"
)

type AdminUploadController struct {
   AdminBaseController
}

/**
后端上传处理类
 */

/**
配置图片上传
 */
func (c *AdminUploadController) AdminUploadSetting() {
   //获取图片信息
   f, h, err := c.GetFile("file")
   if err != nil {
      log.Fatal("获取文件错误 ", err)
      c.ajaxMsg("文件获取失败", -1)
   }
   //清除临时文件
   defer f.Close()
   //获取文件后缀
   var fileSuffix string
   fileSuffix = path.Ext(h.Filename)
   //获取当前时间戳
   timeNow := time.Now().Unix()
   //获取随机数
   randCode := c.randCode()
   //设置保存后的路径
   imageUrl := "static/upload/setting/" + randCode + fmt.Sprintf("%d", timeNow) + fileSuffix
   //保存文件
   c.SaveToFile("file", imageUrl) // 保存位置在 static/upload, 没有文件夹要先创建
   //返回
   c.ajaxMsg(imageUrl, 1)
}

      这段代码通过获取前端上传控件file的上传内容,然后文件随机命名并保存到static/upload/setting目录下,并返回上传路径。


0条评论

发表评论