从这一课开始我们就进入了比较难的步骤了。这个步骤就是我们这个服务的核心,接收图片上传。在写这个东西之前,我们先了解另外一个软件,这个软件的名字叫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开始开发美图站——第五课[接收图片上传]