golang gin——文件上传(单文件,多文件)

文件上传

单文件上传

从form-data获取文件

go 复制代码
package upload

import (
	"github.com/gin-gonic/gin"
	"net/http"
)
// 单文件上传,多文件上传
func Upload(c *gin.Context) {
	file, _ := c.FormFile("file")  // file为字段名

	dst := "upload_files/" + file.Filename
	c.SaveUploadedFile(file, dst)


	// 都是gin.context作为入参
	c.JSON(http.StatusOK, gin.H{
		"message": "success",
		"file_name": file.Filename,
	})
}
多文件上传
go 复制代码
package upload

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func UploadMulti(c *gin.Context) {
	form, _ := c.MultipartForm()

	files := form.File["files"]
	file_names := make([]string, 0)
	for i := 0; i < len(files); i++ {
		file := files[i]
		dst := "upload_files/" + file.Filename
		c.SaveUploadedFile(file, dst)
		file_names = append(file_names, file.Filename)
	}

	c.JSON(http.StatusOK, gin.H{
		"message": "success",
		"file_name": file_names,
	})
}
测试
相关推荐
不吃香菜学java1 天前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
码事漫谈1 天前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
小江的记录本1 天前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
贵沫末1 天前
python——打包自己的库并安装
开发语言·windows·python
文祐1 天前
C++类之虚函数表及其内存布局(一个子类继承一个父类)
开发语言·c++
努力的小雨1 天前
龙虾量化实战法(QClaw)
后端
zuowei28891 天前
华为网络设备配置文件备份与恢复(上传、下载、导出,导入)
开发语言·华为·php
橙露1 天前
SpringBoot 整合 MinIO:分布式文件存储上传下载
spring boot·分布式·后端
xiaohe071 天前
超详细 Python 爬虫指南
开发语言·爬虫·python
嗑嗑嗑瓜子的猫1 天前
Java!它值得!
java·开发语言