首页 > 其他分享 >go-gin实现文件上传

go-gin实现文件上传

时间:2022-10-31 15:01:21浏览次数:52  
标签:saveUploadFile fmt server func go gin 上传

见代码

package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

func main()  {
	server := gin.Default()
	gin.SetMode(gin.DebugMode)
	fmt.Println("Gin Running in", gin.Mode())

	server.GET("/test", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, gin.H{
			"code": 1,
			"msg": "success",
		})
	})
	// uploadFile
	saveUploadFile(server)

	_ = server.Run(":8080")
}

func saveUploadFile(srv *gin.Engine) {
	srv.MaxMultipartMemory = 8 << 20 // max = 8MB
	srv.POST("/file", func(ctx *gin.Context) {
		file, err := ctx.FormFile("file") // file as the form-data key
		if err != nil {
			ctx.JSON(500, gin.H{"err": err})
			return
		}

		// file rename
		dst := "./" + file.Filename
		fmt.Println("save the uploadfile to dst:", dst)
		// save image
		err = ctx.SaveUploadedFile(file, dst)
		if err != nil {
			ctx.JSON(500, gin.H{"err": "file saving failed: " + err.Error()})
			return
		}

		ctx.JSON(200, gin.H{
			"msg": "success",
			"name": file.Filename,
			"size": file.Size,
		})
	})
}

postman测试:

标签:saveUploadFile,fmt,server,func,go,gin,上传
From: https://www.cnblogs.com/davis12/p/16844272.html

相关文章

  • Nginx配置godaddy证书
    在阿里云上购买的证书下载直接上传服务器配置到Nginx就可以直接使用,但是godaddy的需要自己手动生成证书:1.在网站:https://www.myssl.cn/tools/create-csr.html上生成KEY及......
  • go: no such tool "compile"(记录)
    这是一次离谱问题和胡搞一通莫名解决的记录背景:win11系统下,原有的go1.18更新到go1.19后出现了莫名的go:nosucntool"compile"的情况。当时检查goenv,如下:PSD:\Desk......
  • gin表单验证
    一.表单验证的初始化1.定义forms验证在forms目录下创建user.go文件增加验证的struct内容packageformstypePassWordLoginFormstruct{ Mobilestring`form:......
  • Nginx学习六:静态代理
    文章目录​​一、原因​​​​二、原理图​​​​三、Nginx静态代理实现方式​​​​方式一:在nginx.conf的location中配置静态资源的后缀​​​​方式二在nginx.conf的lo......
  • 设置Google浏览器不更新
    设置Google浏览器不更新右键计算机=>管理,在计算机管理(本地)=>系统工具=>任务计划程序=>任务计划程序库中找到两个和Google自动更新相关的任务计划:GoogleUpdateTaskMa......
  • git上传大小超过100M文件(gitee)
    文章目录   安装LFS   开启LFS功能   选择文件类型   配置远程仓库   上传大文件   报LFS错今天上传项目文件到gitee上面,出现错误remote:error:......
  • c# 模拟表单提交,post form 上传文件、大数据内容
    表单提交协议规定:要先将HTTP要求的Content-Type设为multipart/form-data,而且要设定一个boundary参数,这个参数是由应用程序自行产生,它会用来识别每一份资料的边界......
  • Gin 框架初始
    Gin内容介绍参考参考博客和文档:Gin框架介绍及使用Gin中文文档主要内容本教程主要从下面几个方面来进行讲解Gin框架基本使用GORM基本使用Web开发项目实战关于......
  • Go 语言 context 最佳实践
    01 介绍Go语言在v1.7引入 context 包,关于它的使用方式,我们在之前的文章中已经介绍过,感兴趣的读者朋友们可以翻阅。本文我们介绍 context 包的最佳实践,包括传值......
  • nginx容器与php-fpm容器连接方式
    文档说明:只记录关键地方;获得nginx和php基础镜像的内默认配置文件从容器镜像中拷贝文件到容器外#!/bin/bashset-eux__DIR__=$(cd"$(dirname"$0")"pwd)c......