从这一课开始我们就进入了比较难的步骤了。这个步骤就是我们这个服务的核心,接收图片上传。在写这个东西之前,我们先了解另外一个软件,这个软件的名字叫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开始开发美图站——第六课
未经允许不得转载:RffanLAB|Rffan实验室 » [go语言开发]从0开始开发美图站——第五课[接收图片上传]