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,
	})
}
测试
相关推荐
喵叔哟5 分钟前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
Zach_yuan6 分钟前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
云姜.12 分钟前
java多态
java·开发语言·c++
CoderCodingNo21 分钟前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
陳103027 分钟前
C++:红黑树
开发语言·c++
一切尽在,你来33 分钟前
C++ 零基础教程 - 第 6 讲 常用运算符教程
开发语言·c++
泉-java34 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
Charlie_lll44 分钟前
力扣解题-移动零
后端·算法·leetcode
weixin_499771551 小时前
C++中的组合模式
开发语言·c++·算法
初级代码游戏1 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放