前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gin框架之文件上传

gin框架之文件上传

作者头像
大话swift
发布2020-03-16 18:32:24
3.9K0
发布2020-03-16 18:32:24
举报
文章被收录于专栏:大话swift大话swift

这篇文章我们主要讲gin框架的文件上传功能

1、单文件上传

代码语言:javascript
复制
package main

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

func main() {
  router := gin.Default()
  router.POST("/upload", func(c *gin.Context) {
    file, _ := c.FormFile("file")

    // 上传文件至指定目录
    if err := c.SaveUploadedFile(file, "./upload/"+file.Filename); err != nil {
      fmt.Println(err)
    }
    c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename))
  })
  router.Run(":8080")
}

postman示例

curl示例

代码语言:javascript
复制
curl --location --request POST 'http://127.0.0.1:8080/upload' \
--header 'Content-Type: multipart/form-data; boundary=--------------------------091075461974876853112895' \
--form 'file=@/C:/Users/Administrator/Pictures/go.jpg'

2、多文件上传

代码语言:javascript
复制
package main

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

func main() {
  router := gin.Default()
  router.POST("/upload", func(c *gin.Context) {
    file, _ := c.FormFile("file")

    // 上传文件至指定目录
    if err := c.SaveUploadedFile(file, "./upload/"+file.Filename); err != nil {
      fmt.Println(err)
    }
    c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename))
  })
  router.POST("/upload/multi", func(c *gin.Context) {
    // Multipart form
    form, _ := c.MultipartForm()
    files := form.File["file[]"]

    for _, file := range files {
      if err := c.SaveUploadedFile(file, "./upload/"+file.Filename); err != nil {
        fmt.Println(err)
      }
    }
    c.String(http.StatusOK, fmt.Sprintf("%d files uploaded!", len(files)))
  })
  router.Run(":8080")
}

postman示例

curl示例

代码语言:javascript
复制
curl --location --request POST 'http://127.0.0.1:8080/upload/multi' \
--header 'Content-Type: multipart/form-data; boundary=--------------------------296843343751307885084965' \
--form 'file[]=@/C:/Users/Administrator/Pictures/go.jpg' \
--form 'file[]=@/C:/Users/Administrator/Pictures/a.jpg'

如果觉得对你有用,记着关注我!你的关注,是我最更新的最大动力!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话swift 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档