国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

golang簡單獲取上傳文件大小的實現代碼

2020-04-01 19:10:38
字體:
來源:轉載
供稿:網友

本文實例講述了golang簡單獲取上傳文件大小的方法。分享給大家供大家參考,具體如下:

復制代碼 代碼如下:
package main
import (
    "fmt"
    "io"
    "net/http"
    "log"
    "os"
)
// 獲取文件大小的接口
type Size interface {
    Size() int64
}
// 獲取文件信息的接口
type Stat interface {
    Stat() (os.FileInfo, error)
}
// hello world, the web server
func HelloServer(w http.ResponseWriter, r *http.Request) {
    if "POST" == r.Method {
        file, _, err := r.FormFile("userfile")
        if err != nil {
            http.Error(w, err.Error(), 500)
            return
        }
        if statInterface, ok := file.(Stat); ok {
            fileInfo, _ := statInterface.Stat()
            fmt.Fprintf(w, "上傳文件的大小為: %d", fileInfo.Size())
        }
        if sizeInterface, ok := file.(Size); ok {
            fmt.Fprintf(w, "上傳文件的大小為: %d", sizeInterface.Size())
        }
        return
    }
    // 上傳頁面
    w.Header().Add("Content-Type", "text/html")
    w.WriteHeader(200)
    html := `
<form enctype="multipart/form-data" action="/hello" method="POST">
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
`
    io.WriteString(w, html)
}
func main() {
    http.HandleFunc("/hello", HelloServer)
    err := http.ListenAndServe(":12345", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

 

希望本文所述對大家Go語言程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛曲县| 依兰县| 民权县| 离岛区| 厦门市| 万全县| 广昌县| 日喀则市| 高陵县| 嘉兴市| 朔州市| 涪陵区| 枣强县| 东源县| 玉龙| 甘谷县| 鄂伦春自治旗| 格尔木市| 秦皇岛市| 磐安县| 句容市| 通州区| 新密市| 永清县| 丁青县| 仙居县| 许昌市| 礼泉县| 油尖旺区| 台州市| 镇赉县| 宁陕县| 宁夏| 安图县| 泗水县| 南康市| 同心县| 信丰县| 永州市| 舟曲县| 札达县|