一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - GO語言實現(xiàn)文件上傳代碼分享

GO語言實現(xiàn)文件上傳代碼分享

2020-04-24 11:39腳本之家 Golang

本文給大家分享的是一則使用golang實現(xiàn)文件上傳的代碼,主要是使用os.Create創(chuàng)建文件,io.Copy來保存文件,思路非常清晰,這里推薦給大家,有需要的小伙伴參考下吧。

功能很簡單,代碼也很簡潔,這里就不多廢話了。

 

復制代碼 代碼如下:

package main
import (
    "fmt"
    "io"
    "net/http"
    "os"
)
const (
    upload_path string = "./upload/"
)
func helloHandle(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "hello world!")
}
//上傳
func uploadHandle(w http.ResponseWriter, r *http.Request) {
    //從請求當中判斷方法
    if r.Method == "GET" {
        io.WriteString(w, "<html><head><title>我的第一個頁面</title></head><body><form action='' method=\"post\" enctype=\"multipart/form-data\"><label>上傳圖片</label><input type=\"file\" name='file'  /><br/><label><input type=\"submit\" value=\"上傳圖片\"/></label></form></body></html>")
    } else {
        //獲取文件內(nèi)容 要這樣獲取
        file, head, err := r.FormFile("file")
        if err != nil {
            fmt.Println(err)
            return
        }
        defer file.Close()
        //創(chuàng)建文件
        fW, err := os.Create(upload_path + head.Filename)
        if err != nil {
            fmt.Println("文件創(chuàng)建失敗")
            return
        }
        defer fW.Close()
        _, err = io.Copy(fW, file)
        if err != nil {
            fmt.Println("文件保存失敗")
            return
        }
        //io.WriteString(w, head.Filename+" 保存成功")
        http.Redirect(w, r, "/hello", http.StatusFound)
        //io.WriteString(w, head.Filename)
    }
}
func main() {
    //啟動一個http 服務器
    http.HandleFunc("/hello", helloHandle)
    //上傳
    http.HandleFunc("/image", uploadHandle)
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        fmt.Println("服務器啟動失敗")
        return
    }
    fmt.Println("服務器啟動成功")
}

 

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡,能夠?qū)Υ蠹覍W習go語言有所幫助。

延伸 · 閱讀

精彩推薦
  • GolangGolang通脈之數(shù)據(jù)類型詳情

    Golang通脈之數(shù)據(jù)類型詳情

    這篇文章主要介紹了Golang通脈之數(shù)據(jù)類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數(shù)名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網(wǎng)11352020-05-21
  • Golanggolang的httpserver優(yōu)雅重啟方法詳解

    golang的httpserver優(yōu)雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優(yōu)雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • GolangGolang中Bit數(shù)組的實現(xiàn)方式

    Golang中Bit數(shù)組的實現(xiàn)方式

    這篇文章主要介紹了Golang中Bit數(shù)組的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggolang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • Golanggo日志系統(tǒng)logrus顯示文件和行號的操作

    go日志系統(tǒng)logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
主站蜘蛛池模板: 午夜宅男在线观看 | 国产成人无精品久久久 | 日本高清在线精品一区二区三区 | 9191精品国产观看 | 大又大又粗又爽女人毛片 | 欧美亚洲桃花综合 | 免费亚洲一区 | 国产精品福利在线观看免费不卡 | 国产探花视频 | 四虎成人免费观看在线网址 | 亚洲国产成人精品激情 | 香蕉成人999视频 | 成人免费福利网站在线看 | 精品久久成人 | 久久久GOGO无码啪啪艺术 | 欧美精品1区 | 国产在线播放一区 | pppd在线播放| 秋霞午夜伦午夜高清福利片 | 国产福利一区二区在线精品 | 99re热这里只有精品视频 | 91亚洲专区 | 亚洲天堂激情 | 日本爽p大片免费观看 | 手机在线伦理片 | 九九热免费在线观看 | 日本国产成人精品视频 | porono日本动漫 | 短篇艳妇系列 | 操娇妻| 色综合久久夜色精品国产 | 亚洲AV 中文字幕 国产 欧美 | 吉川爱美与黑人解禁 | 免费国产福利 | 亚洲国产在线观看免费视频 | 蜜柚精彩在线观看 | 亚洲AV无码国产精品色午夜情 | 热伊人99re久久精品最新地 | 亚洲国产福利精品一区二区 | 欧美伊人久久久久久久久影院 | 亚洲高清中文字幕精品不卡 |