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,
	})
}
测试
相关推荐
逻极19 分钟前
变量与可变性:Rust中的数据绑定
开发语言·后端·rust
一缕茶香思绪万堵21 分钟前
028.爬虫专用浏览器-抓取#shadowRoot(closed)下
java·后端
panco6812021 分钟前
Ristretto - Golang高性能内存缓存管理库
后端
Cache技术分享26 分钟前
226. Java 集合 - Set接口 —— 拒绝重复元素的集合
前端·后端
代码扳手27 分钟前
Go 开发的“热更新”真相:从 fresh 到真正的零停机思考
后端·go
9号达人29 分钟前
认证方案的设计与思考
java·后端·面试
BingoGo30 分钟前
PHP 组件未来:Livewire 4 正式发布,性能更快,功能更完整
后端·php
William_cl32 分钟前
拆解ASP.NET MVC 视图模型:为 View 量身定制的 “数据小票“
后端·asp.net·mvc
辜月十32 分钟前
设置 Root 账号 并能够 SSH进行链接
后端
QZQ5418833 分钟前
当数据多到放不下内存时,算子的外部执行机制
后端