Gin框架入门系列-文件上传

2023-11-08 12:32:10 浏览数 (2)

后端代码:

代码语言:javascript复制
package main
// 导入gin包
import (
    "fmt"
    "github.com/gin-gonic/gin"
    "log"
    "net/http"
)

func main() {
    router := gin.Default()
    // 设置文件上传大小限制,默认是32m
    router.MaxMultipartMemory = 64 << 20  // 64 MiB

    router.POST("/upload", func(c *gin.Context) {
        // 获取上传文件,返回的是multipart.FileHeader对象,代表一个文件,里面包含了文件名之类的详细信息
        // file是表单字段名字
        file, _ := c.FormFile("file")
        // 打印上传的文件名
        log.Println(file.Filename)

        // 将上传的文件,保存到./data/1111.jpg 文件中
        c.SaveUploadedFile(file, "./data/1111.jpg")

        c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename))
    })
    router.Run(":8080")
}

html代码:

代码语言:javascript复制
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Single file upload</title>
</head>
<body>
<h1>上传文件演示</h1>

<form action="/upload" method="post" enctype="multipart/form-data">
    文件: <input type="file" name="file"><br><br>
    <input type="submit" value="上传文件">
</form>
</body>
</html>

我有个大胆的想法

小伙伴在平常有没有遇到以下这种情况:遇到技术难题时,网上教程一堆堆,优秀的很多,但也有很多是过时的,或者是copy来copy去,甚至错别字都没改。

我公众号的技术文章,都是亲自校验过的。至少可以保证在发文的一段时间,不会过时。如果你在实操过程中,有遇到问题,可以在同名公众号留言,免费解答,相互学习,相互成长^v^

往期精彩

收藏那么多python资料干嘛,这一本就够你从入门到入土了!

SaaS 多租户系统数据隔离方案

爬虫能有多难啊?看完这篇,你还不上手?

如何每天自动发送微信消息给女朋友说晚安

八千字直接带你学完《基于Python的Selenium4从入门到高级》全教程

Python高效文件传输:实现远程下载与上传的终极方法(paramiko)

0 人点赞