原文地址:http://www.niu12.com/article/41

package main

import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
) func postParams(c *gin.Context) {
// 表单发送 name=card, job=phper
name := c.PostForm("name")
job := c.PostForm("job")
c.JSON(http.StatusOK, gin.H{
"method": c.Request.Method,
"name": name,
"job": job,
})
// c.PostFormArray()、c.PostFormMap()、c.DefaultPostForm()的用法作用同GET相同
} // 单文件上传
func postFile(c *gin.Context) {
file,err := c.FormFile("picture")
if err != nil {
panic(err)
}
// map[
// Content-Disposition:
// [form-data; name="picture"; filename="20170713121902724.gif"]
// Content-Type:[image/gif]
// ]
fmt.Println(file.Header)
// 298866
fmt.Println(file.Size)
// name:20170713121902724.gif
c.String(http.StatusOK, "name:" + file.Filename)
} func postMultipleFile(c *gin.Context) {
form, err := c.MultipartForm()
if err != nil {
panic(err)
}
files := form.File["picture[]"]
// [0xc0421a80a0 0xc0421a80f0]
fmt.Println(files)
// 20170713121902724.gif
// 1_1536740500_x0IW0YfFJG.jpg
for _, file := range files{
fmt.Println(file.Filename)
}
} func main() {
router := gin.Default()
router.POST("/post", postParams) //获取文件
// 默认限制大小为32M
// 通过router.MaxMultipartMemory = 8 << 20 8M设置 // 单文件上传
router.POST("/upload", postFile) // 多文件上传
router.POST("/uploadMultiple", postMultipleFile)
router.Run(":8888")
}

golangWEB框架gin学习之获取post参数的更多相关文章

  1. golangWEB框架gin学习之获取get参数

    原文地址:http://www.niu12.com/article/40package main import ( "fmt" "github.com/gin-gonic ...

  2. golangWEB框架gin学习之路由群组

    原文地址:http://www.niu12.com/article/42 package main import ( "github.com/gin-gonic/gin" &quo ...

  3. JavaScript学习之获取URL参数

    最近看了几道面试题,其中有一道就是关于写一个方法来获取浏览器地址栏URL查询部分的字段内容.虽然之前看过相关的东西,但感觉有点模糊,所以就又全面的学习一遍,谨以此文记之! 准备知识 在JavaScri ...

  4. Mybatis 学习---${ }与#{ }获取输入参数的区别、Foreach的用法

    一.Mybatis中用#{}和${}获取输入参数的区别 1.“#{}“和“${}”都可以从接口输入中的map对象或者pojo对象中获取输入的参数值.例如 <mapper namespace=&q ...

  5. django学习-5.获取url参数和name的作用

    1.前言 假如我们要打开这两个博客园地址:[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html].[https://www.cnblogs ...

  6. Java获取函数参数名称

    原理 编译之后的class文件默认是不带有参数名称信息的,使用 IDE 时,反编译jar包得到的源代码函数参数名称是 arg0,arg1......这种形式,这是因为编译 jar 包的时候没有把符号表 ...

  7. go的gin框架从请求中获取参数的方法

    前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST   /post/te ...

  8. 学习SpringMVC——如何获取请求参数

    @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...

  9. springMvc源码学习之:spirngMVC获取请求参数的方法2

    @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他 (@CookieValue)!她(@ModelAndView ...

随机推荐

  1. python imageai 对象检测、对象识别

    imageai库里面提供了目标识别,其实也可以说是目标检测,和现在很多的收集一样就是物体识别.他可以帮你识别出各种各样生活中遇见的事物.比如猫.狗.车.马.人.电脑.收集等等. 感觉imageai有点 ...

  2. maven中的pom.xml解析

    pom.xml用于项目描述,组织管理,依赖管理和构件信息的管理. <project>是pom.xml的一些约束信息: <modelVersion>指定了当前pom的版本: 坐标 ...

  3. c++文件流写入到execl中

    #include <iostream> #include <fstream> #include <string> using namespace std; int ...

  4. centos 7 卸载自带的jdk

    # 查看jdk安装信息 rpm -qa|grep java 卸载已安装的jdk: # yum -y remove java java-1.7.0-*

  5. 【python】正则表达式相关

    注意:Python3.X 的print要有括号, Python 2.x的不需要 放上学习时写的例子: import re m = re.match(r'(\w+) (\w+)(?P<sign&g ...

  6. java Socket启动服务

    java -cp /Library/WebServer/Documents/Java/test/src com.zhidian.soft.sendOfClick localhost 8888 java ...

  7. mkdir 创建目录

    短选项 长选项 含义 -m <目录属性> --mode <目录属性> 建立目录时同时设置目录的权限. -p --parents 此选项后,可以是一个路径名称.若路径中的某些目录 ...

  8. (十一)数组array

    变量:只能存一个值,数组可以存多个值 (1)普通数组,索引下标是整数: 1)定义: 方法一:一次赋一个值:语法:数组名[下标]=变量值 array[1]=linux array[2]=shell 方法 ...

  9. codeforces 869C The Intriguing Obsession【组合数学+dp+第二类斯特林公式】

    C. The Intriguing Obsession time limit per test 1 second memory limit per test 256 megabytes input s ...

  10. HDU 2660 Accepted Necklace【数值型DFS】

    Accepted Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...