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,
	})
}
测试
相关推荐
__zRainy__37 分钟前
Node系列 · ORM:Sequelize 简介
数据库·后端·node.js
梦想的旅途21 小时前
Python实现企业微信文本消息发送
开发语言·python·企业微信
大鹏说大话1 小时前
美业微信会员系统哪个好
开发语言
AskHarries1 小时前
OpenClaw 如何查看历史对话和响应时间?
后端
n8n1 小时前
Spring Boot 3.2+ 新特性、Spring AI 核心架构与 API Key 安全管理技术文档
后端
fireworks991 小时前
接口鉴权(401与403)
java·后端
n8n2 小时前
Java 21 虚拟线程(Virtual Threads)
后端
Csvn2 小时前
🐍 Day 5: Python 函数详解 — 参数、作用域与一等公民
人工智能·后端
wno7042 小时前
Spring Boot中使用Servlet
spring boot·后端·servlet
老郑聊AI业财智造2 小时前
Spring AI 技术架构与源码分析
java·人工智能·后端·spring·架构·软件工程