golang实现图片上传

实现个图片上传,记录一下

我这里是采用的调试工具,apipost去直接上传的,参数值选择file即可

上传的图片,两种方式,一是用原来的文件名,直接file.Filename即可。

Go 复制代码
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.Filename
	c.SaveUploadedFile(file, dst)

	// 都是gin.context作为入参
	c.JSON(http.StatusOK, gin.H{
		"message":   "success",
		"file_name": name + extstring,
	})
}

另外一种方法就是,自己生成名字,这里自己封装了一个方法

Go 复制代码
package utils

import (
	"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
}

年月日时分秒最后加上纳秒拼接得来的

完成效果如下

相关推荐
小远同学10 分钟前
java Mavlink连接模拟器 开源软件Mission Planner简单使用(一)
后端
Jooolin10 分钟前
Flask 入门到实战:手把手带你构建第一个 Python Web 应用
后端·flask·ai编程
aischang20 分钟前
统信桌面专业版如何使用python开发平台jupyter
开发语言·python·jupyter·统信uos
红鼻子时代23 分钟前
Django RBAC项目后端实战 - 03 DRF权限控制实现
后端·python·django·rabc
语落心生32 分钟前
Mcp+Agent - 自动化BI报表实现方案探索
后端
狐凄42 分钟前
Python实例题:Python计算概率论
开发语言·python·概率论
shark_chili43 分钟前
来聊聊JVM中安全点的概念
后端
无奈何杨43 分钟前
事件时间驱动的策略版本管理:风控系统中的关键设计抉择
java·后端·架构
这里有鱼汤1 小时前
一文读懂量化交易中最常用的5种均线,附源码,建议收藏
后端·python
q567315231 小时前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python