[go语言开发]从0开始开发美图站——第五课[接收图片上传]

从这一课开始我们就进入了比较难的步骤了。这个步骤就是我们这个服务的核心,接收图片上传。在写这个东西之前,我们先了解另外一个软件,这个软件的名字叫postman

[下载地址]:Postman

Postman 这个是为了调试接口用的。首先下载postman 点开地址可以看到下面的页面。

点击Download the App 然后选在64-bit 的版本下载即可。

双击即可安装Postman 安装好了之后,如果你有账号的话,可以点击登录,如果没有的话,可以点击Create Free Account进行创建,也就是邮箱以及密码和密码确认的事情。

如果你不想创建账号,也可以直接点击最先面的Skip and go to the app 直接开始试用。

进入后的界面如下。

这里我们熟悉了Postman 下一步我们开始写代码了。

package main

import (
	"fmt"
	"log"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	fmt.Println("你好世界")
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})

	// 开始上传的接口
	r.POST("/upload", func(c *gin.Context) {
		// 获取Formdata的上传文件对象
		file, err := c.FormFile("file")
		// 判断是否有错误返回
		if err != nil {
			// 有则记录错误返回
			log.Printf("接收文件出错,%v", err)
			// 并直接返回结果
			c.JSON(200, gin.H{
				"status": false,
				"code":   -1,
				"msg":    "上传文件失败",
			})
		} else {
			// 没有则获取到文件名
			fileName := file.Filename
			// 将目录和文件名组织在一起,形成保存路径
			savePath := "./" + fileName
			// 使用gin自带的保存方法,将文件保存到保存目录里。
			c.SaveUploadedFile(file, savePath)
			c.JSON(200, gin.H{
				"status": true,
				"code":   200,
				"msg":    "操作成功",
			})
		}
	})
	// 结束上传文件的接口

	r.Run(":8080")
}

可以看到,我在ping 这个接口(接口的定义就是一个访问路径,我们能在浏览器以及Postman中访问的地址。)下面写了一个另外一个接口,就是upload接口。

这段代码里面,你能看到很多行的//开头的代码,而且后面都有中文。这就是Golang中的注释。注释起到解释代码是什么意义的作用,但是却不参与程序的实际运行,你可以理解为程序的笔记。

现在,你先别说话,抄一下上面的代码。然后按F5运行起来。然后祭出前面安装的Postman来进行测试我们的上传功能是否正常

按照上面的设置,然后设置成下面的样子,然后点右边蓝色的Send

然后你会发现下面的成功标记。

然后你就在visual Studio Code 左边的文件管理栏目中看到了上传后的文件。

至此上传代码完成

[go语言开发]从0开始开发美图站——第四课

[go语言开发]从0开始开发美图站——第六课

未经允许不得转载:RffanLAB|Rffan实验室 » [go语言开发]从0开始开发美图站——第五课[接收图片上传]

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏