Vant UI +Golang(gin) 上传文件

前端基本用法:点击查看

实现代码:

javascript 复制代码
const afterRead = (file) => {
  console.log(file);
  //set content-type to multipart/form-data
  const formData = new FormData();
  formData.append("file", file.file);
  request.POST("/api/v1/users/upload", formData, {
    headers: {
      "Content-Type": "multipart/form-data",
    },
  }).then((res) => {
    console.log(res);
  });
};

后端代码:

Go 复制代码
func (h *usersHandler) Upload(c *gin.Context) {
	// 上传单张图片
	file, err := c.FormFile("file")
	if err != nil {
		logger.Error("FormFile error", logger.Err(err), middleware.GCtxRequestIDField(c))
		response.Error(c, ecode.InternalServerError)
		return
	}
	filename := file.Filename
	// 保存文件到static/pictures
	err = c.SaveUploadedFile(file, "./static/pictures/"+filename)
	if err != nil {
		logger.Error("SaveUploadedFile error", logger.Err(err), middleware.GCtxRequestIDField(c))
		response.Error(c, ecode.InternalServerError)
		return
	}
	response.Success(c, gin.H{"message": "upload success"})
}
相关推荐
止语Lab2 小时前
Go 内存管理优化:内联是逃逸分析的隐藏杠杆
golang
绿豆人2 小时前
Go设计模式学习
学习·设计模式·golang
大鹏说大话3 小时前
Go语言Channel并发编程实战:从基础通信到高级模式
开发语言·后端·golang
XMYX-04 小时前
10 - Go 指针:从入门到避坑
开发语言·golang
小樱花的樱花5 小时前
4 文件选择对话框 QFileDialog
开发语言·c++·ui
迷藏4945 小时前
**超融合架构下的Go语言实践:从零搭建高性能容器化微服务集群**在现代云原生时代,*
java·python·云原生·架构·golang
geovindu6 小时前
go: Model,Interface,DAL ,Factory,BLL using mysql
开发语言·mysql·设计模式·golang·软件构建
techdashen7 小时前
Go 1.25 新特性:Flight Recorder —— 像黑匣子一样捕捉线上 Bug
java·golang·bug
jingxindeyi8 小时前
electron 配置 shadcn-ui
javascript·ui·electron
可达鸭小栈8 小时前
易语言自绘UI实战:基于美易模块的登录界面快速开发(可换肤)
ui