首页 > 其他分享 >Gin单文件上传以及多文件上传

Gin单文件上传以及多文件上传

时间:2024-01-17 11:15:04浏览次数:18  
标签:文件 MaxMultipartMemory multipart Gin router 上传

Gin单文件上传以及多文件上传

1 单文件上传

func main() {
    router := gin.Default()
    // 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
    // router.MaxMultipartMemory = 8 << 20  // 8 MiB
    router.POST("/upload", func(c *gin.Context) {
        file, _ := c.FormFile("file")
        fmt.Println(file.Filename)
        dst := path.Join('./static/upload',file.Filename) // 路径
        // 上传文件至指定目录
        c.SaveUploadedFile(file, dst)
        }
        c.String(http.StatusOK, fmt.Sprintf("%v files uploaded!",file.Filename ))
    })
    router.Run(":8000")
}

2 多文件

func main() {
    router := gin.Default()
    // 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
    // router.MaxMultipartMemory = 8 << 20  // 8 MiB
    router.POST("/upload", func(c *gin.Context) {
        // Multipart form
        form, _ := c.MultipartForm()
        files := form.File["upload[]"]

        for _, file := range files {
            log.Println(file.Filename)
		   dst := path.Join('./static/upload',file.Filename) // 路径
            // 上传文件至指定目录
            c.SaveUploadedFile(file, dst)
        }
        c.String(http.StatusOK, fmt.Sprintf("%d files uploaded!", len(files)))
    })
    router.Run(":8000")
}

3 注意

/*
	不管是上面样的上传都需要注意
	在请求头加上
	Content-Type: multipart/form-data
*/

标签:文件,MaxMultipartMemory,multipart,Gin,router,上传
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17969505

相关文章

  • Gin中间件
    Gin中间件1中间件简介/* Gin框架允许开发者在处理请求的过程中,加入用户自己的钩子(Hook)函数。这个钩子函数就叫中间件,中间件适合处理一些公共的业务逻辑,比如登录认证、权限校验、数据分页、记录日志、耗时统计等。*/在gin中的Default的方法中已经有两个中间件了://Defaul......
  • Gin 文件上传 按照日期存储
    Gin文件上传按照日期存储1实现步骤/* 1.获取上传的文件 2.获取后缀名判断类型是否正确.jpg.png.gif.jpeg 3.创建图片保存目录static/upload/20240101 4.生成文件名称和文件保存的目录 5.保存*/2代码//获取当前的日期funcGetDay()string{ template:="......
  • Gin中的Session
    Gin中的Session1Session简单介绍session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而session保存在服务器上。2Session的工作流程当客户端浏览器第一次访问服务器并发送请求时,服务器端会创建一个session对象,生成一个类似于key,value的键值对,然后将va......
  • Gin中的Cookie
    Gin中的Cookie1Cookie简介/* ●HTTP是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。如果我们要实现多个页面之间共享数据的话我们就可以使用Cookie或者Sessio......
  • ckeditor 4的config配置文件
    CKEDITOR.editorConfig=function(config){//Definechangestodefaultconfigurationhere.Forexample://config.language='fr';//config.uiColor='#AADC6E';config.extraPlugins='clipboard,lineutils,w......
  • GIn入门
    Gin入门1.Gin安装goget-ugithub.com/gin-gonic/gin2.将gin引入到代码中:import"github.com/gin-gonic/gin"2.1(可选)如果使用诸如http.StatusOK之类的常量,则需要引入net/http包:import"net/http"2.2初始化gomodgomodinit/*生成go.mod文件,此命令会在当......
  • 出现了HTTPSConnectionPool(host=‘huggingface.co‘, port=443)错误的解决方法
    在下载huggingface模型的时候,经常会出现这个错误,HTTPSConnectionPool(host=‘huggingface.co’,port=443)。如在下载Tokenizer的时候,tokenizer=AutoTokenizer.from_pretrained("csebuetnlp/mT5_multilingual_XLSum")就会出现以上的错误HTTPSConnectionPool(host=‘hug......
  • 音频采集转wav文件
    1:short[]数组的帧:音频返回的short[]代表一个音频信号的波形数据。在数字音频处理中,波形数据通常以数字形式表示,而short[]是一种常见的表示方法。在short[]中,每个元素都是一个16位的有符号整数,通常表示一个音频样本的振幅。每个样本对应音频波形中的一个时间点。振幅的值范围......
  • 如何选择既安全 同时让业务部门满意的跨网文件安全交换系统?
    企业进行网络隔离后,需要专业的跨网文件交换平台,而一般情况下,企业的IT部门和业务部门在跨网文件交换平台上的需求是不同的:1、业务部门在文件交换方面通常更注重功能性、实用性和效率。他们需要系统具备丰富的功能,能够满足各种业务需求;同时要求系统易于使用,能够快速上手,减少培训和......
  • Inserting a node at beginning,全局变量头指针【1月16日学习笔记】
    点击查看代码//insertinganodeatbeginning,全局变量头指针#include<iostream>usingnamespacestd;structnode{ intdata; node*next;};node*A;voidinsert(intx){ node*temp=newnode;//创建新节点 temp->data=x; temp->next=A;//新节点尾巴指......