用go gin server來做文件上傳服務(wù)
之前已經(jīng)go get安裝了gin, 現(xiàn)在來玩下用go gin server作圖片上傳服務(wù), 代碼目錄如下:
taoge:~/test_gin$ tree . |-- public |-- template | `-- select_file.html `-- test_gin_server.go 2 directories, 2 files taoge:~/test_gin$
test_gin_server.go內(nèi)容:
package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
"github.com/gin-gonic/gin"
)
func upload(c *gin.Context) {
file, header, err := c.Request.FormFile("file")
if err != nil {
c.String(http.StatusBadRequest, fmt.Sprintf("file err : %s", err.Error()))
return
}
filename := header.Filename
out, err := os.Create("public/" + filename)
if err != nil {
log.Fatal(err)
}
defer out.Close()
_, err = io.Copy(out, file)
if err != nil {
log.Fatal(err)
}
filepath := "http://localhost:8080/file/" + filename
c.JSON(http.StatusOK, gin.H{"filepath": filepath})
}
func main() {
router := gin.Default()
router.LoadHTMLGlob("template/*")
router.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "select_file.html", gin.H{})
})
router.POST("/upload", upload)
router.StaticFS("/file", http.Dir("public"))
router.Run(":8080")
}
select_file.html的內(nèi)容為:
<html>
<body>
<form action="http://localhost:8080/upload/" enctype="multipart/form-data" method="POST">
<input type="file" name="file" id="pic" accept="*" />
<button type="submit">提交</button>
</form>
</body>
</html>
go run test_gin_server.go跑起來, 在瀏覽器上執(zhí)行:http://localhost:8080/ ,然后就出現(xiàn)了圖片上傳的頁面,于是就可以上傳圖片了, 玩了一下, OK,服務(wù)端對應(yīng)的public目錄中有對應(yīng)的圖片。
不多說。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- goland 搭建 gin 框架的步驟詳解
- Go Web框架gin的入門教程
- Golang Gin框架實現(xiàn)文件下載功能的示例代碼
- golang gin框架獲取參數(shù)的操作
- golang gin 框架 異步同步 goroutine 并發(fā)操作
- Golang?Gin解析JSON請求數(shù)據(jù)避免出現(xiàn)EOF錯誤
- 基于Go和Gin的環(huán)境配置方法
- golang中g(shù)in框架接入jwt使用token驗證身份
- golang?gin框架實現(xiàn)大文件的流式上傳功能
- golang 網(wǎng)絡(luò)框架之gin的使用方法
- 加速開發(fā):使用Go語言和Gin框架構(gòu)建Web項目的利器
相關(guān)文章
Golang 使用http Client下載文件的實現(xiàn)方法
今天小編就為大家分享一篇Golang 使用http Client下載文件的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

