這篇文章給大家介紹GO語言中怎么實現文件上傳功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

代碼如下:
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 {
//獲取文件內容 要這樣獲取
file, head, err := r.FormFile("file")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
//創建文件
fW, err := os.Create(upload_path + head.Filename)
if err != nil {
fmt.Println("文件創建失敗")
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("服務器啟動成功")
}關于GO語言中怎么實現文件上傳功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁標題:GO語言中怎么實現文件上傳功能-創新互聯
當前URL:http://www.yijiale78.com/article10/jghdo.html
成都網站建設公司_創新互聯,為您提供面包屑導航、ChatGPT、微信小程序、用戶體驗、網頁設計公司、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯