实现个图片上传,记录一下
我这里是采用的调试工具,apipost去直接上传的,参数值选择file即可
上传的图片,两种方式,一是用原来的文件名,直接file.Filename即可。
func Upload(c *gin.Context) {file, _ := c.FormFile("file") // file为字段名//获取当前日期参数,当做文件名name := utils.NowTimeString()extstring := path.Ext(file.Filename)dst := "upload_files/" + name + extstring//直接用原来的文件名//dst := "upload_files/" + file.Filenamec.SaveUploadedFile(file, dst)// 都是gin.context作为入参c.JSON(http.StatusOK, gin.H{"message": "success","file_name": name + extstring,})
}
另外一种方法就是,自己生成名字,这里自己封装了一个方法
package utilsimport ("fmt""time"
)// 获取当前日期的参数当做文件名
func NowTimeString() string {now := time.Now()str := fmt.Sprintf("%d%d%d%d%d%d%d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second(), now.Nanosecond())return str
}
年月日时分秒最后加上纳秒拼接得来的
完成效果如下