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,
	})
}
测试
相关推荐
github.com/starRTC9 小时前
Claude Code中英文系列教程34:再谈Skills
开发语言·c#·ai编程
毕设源码-赖学姐9 小时前
【开题答辩全过程】以 基于Java的外卖点餐网站为例,包含答辩的问题和答案
java·开发语言
蜡笔羊驼10 小时前
LALIC环境安装过程
开发语言·python·深度学习
codeJinger10 小时前
【Python】基础知识
开发语言·python
lsx20240610 小时前
JavaScript Math(算数)详解
开发语言
长桥夜波10 小时前
【第三十周】文献阅读
后端·restful
csbysj202010 小时前
Debian Docker 安装指南
开发语言
ShineWinsu10 小时前
对于模拟实现C++list类的详细解析—上
开发语言·数据结构·c++·算法·面试·stl·list
Mr YiRan10 小时前
C++语言类中各个重要函数原理
java·开发语言·c++
chilavert31810 小时前
技术演进中的开发沉思-370:final 关键字(上)
java·开发语言