var (
//自定义保存文件的位置
o = "./img"
)
func main() {
// 1.创建路由
r := gin.Default()
// 限制表单上传大小 10MB,默认为32MB
// r.MaxMultipartMemory = 10 << 20
r.POST("/upload", func(c *gin.Context) {
//获取前端传来的数据
form, _ := c.MultipartForm()
// 获取所有图片
files := form.File["files"]
// 遍历所有图片
for _, file := range files {
//获取图像后缀
y := path.Ext(file.Filename)
//获取时间戳防止重复 !需要精准到纳秒,防止传输过快产生同名,然后出错
a := time.Now().UnixNano()
//获取一个1w以内的随机数
b := rand.Intn(10000)
//将时间辍的类型转换
z := strconv.FormatInt(a, 10)
//将随机数转换类型
x := strconv.FormatInt(int64(b), 10)
//写入保存位置与自定义名称,并且带上文件自带后缀名
dst := path.Join(o, z+x+y)
// 存储文件
_ = c.SaveUploadedFile(file, dst)
}
//返回数据
c.String(200, fmt.Sprintf("upload ok %d files", len(files)))
})
//设置访问端口
_ = r.Run(":8005")
}
go(gin框架)语言之:多图片上传,与类型整理
最新推荐文章于 2023-09-03 14:49:36 发布