最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用go gin server來做文件上傳服務(wù)

 更新時(shí)間:2019年04月02日 14:06:56   作者:stpeace  
今天小編就為大家分享一篇關(guān)于用go gin server來做文件上傳服務(wù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

之前已經(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)了圖片上傳的頁(yè)面,于是就可以上傳圖片了, 玩了一下, OK,服務(wù)端對(duì)應(yīng)的public目錄中有對(duì)應(yīng)的圖片。

不多說。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Goland激活碼破解永久版及安裝詳細(xì)教程(親測(cè)可以)

    Goland激活碼破解永久版及安裝詳細(xì)教程(親測(cè)可以)

    這篇文章主要介紹了Goland激活碼破解永久版及安裝詳細(xì)教程(親測(cè)可以),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • go中值傳遞和指針傳遞的使用

    go中值傳遞和指針傳遞的使用

    在Go語(yǔ)言中,使用&和*可以分別取得變量的地址和值,解引用未初始化或?yàn)閚il的指針會(huì)引發(fā)空指針異常,正確的做法是先進(jìn)行nil檢查,此外,nil在Go中用于多種類型的空值表示,值傳遞和指針傳遞各有適用場(chǎng)景,通常小型數(shù)據(jù)結(jié)構(gòu)優(yōu)先考慮值傳遞以減少解引用開銷
    2024-10-10
  • Golang Type關(guān)鍵字的使用

    Golang Type關(guān)鍵字的使用

    Type關(guān)鍵字在Go語(yǔ)言中作用很重要,比如定義結(jié)構(gòu)體,接口,還可以自定義類型,定義類型別名等,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能

    go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能

    本文主要介紹了go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Go語(yǔ)言init函數(shù)詳解

    Go語(yǔ)言init函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于Go語(yǔ)言init函數(shù)詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Golang中String,rune和byte的相互轉(zhuǎn)換

    Golang中String,rune和byte的相互轉(zhuǎn)換

    Go語(yǔ)言中,string就是只讀的采用utf8編碼的字節(jié)切片,rune是int32的別名,代表字符的Unicode編碼,這篇文章主要介紹了Golang中String,rune和byte的相互轉(zhuǎn)換,感興趣的小伙伴可以了解一下
    2023-10-10
  • golang中的空slice案例

    golang中的空slice案例

    這篇文章主要介紹了golang中的空slice案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn)

    golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn)

    本文主要介紹了golang Iris運(yùn)行多個(gè)應(yīng)用的實(shí)現(xiàn),在Iris里面,提供了一種方式可以讓我們同時(shí)運(yùn)行多個(gè)應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Go語(yǔ)言學(xué)習(xí)之映射(map)的用法詳解

    Go語(yǔ)言學(xué)習(xí)之映射(map)的用法詳解

    Map是一種無序的鍵值對(duì)的集合。這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中映射的用法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下
    2022-04-04
  • Go?viper讀取配置文件的示例詳解

    Go?viper讀取配置文件的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言如何利用viper實(shí)現(xiàn)讀取配置文件,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-08-08

最新評(píng)論

萝北县| 合川市| 什邡市| 铜陵市| 天峻县| 杭锦后旗| 赣州市| 大港区| 灯塔市| 惠安县| 泸溪县| 绥江县| 长武县| 镇巴县| 凭祥市| 钟山县| 荥阳市| 武陟县| 邳州市| 建瓯市| 林甸县| 乃东县| 绥阳县| 茶陵县| 衢州市| 泰来县| 任丘市| 年辖:市辖区| 讷河市| 望谟县| 炉霍县| 韶山市| 策勒县| 华容县| 临洮县| 登封市| 潼关县| 富裕县| 崇州市| 贺兰县| 保定市|