功能很简单,代码也很简洁,这里就不多废话了。
复制代码 代码如下:
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语言有所帮助。
GO,文件上传
更新动态
- 冯天石《飞叶穿林——冯天石竹笛演奏专辑》[FLAC/分轨][208.98MB]
- 特污兔《填空题》[320KMP3][70.83MB]
- 张杰.2007-最美的太阳(EP)【天娱传媒】【WAV+CUE】
- 陈势安.2024-走心的歌【SONY】【FLAC分轨】
- 黄义达.2009-过程精选2CD【SONY】【WAV+CUE】
- 【原神】V4.6攻略 | 孤暝厄月 仆人——阿蕾奇诺一条龙养成
- 【原神】旧日之海,华丽宝箱收集(共9个)
- 世界等级查看方法介绍,世界等级怎么查看
- 超1.5万人签名!玩家请愿索尼回滚《剑星》版本
- 恐怖故事继续上演!《鬼玩人》系列新片运作中
- 《芭比》导演执导 《纳尼亚传奇》新电影今夏开拍!
- 雷神瞳位置大全一览,2024雷神瞳位置
- 4.6版本四处宝藏位置介绍,探索新收集
- 4.6版本隐藏锚点位置一览,隐藏锚点在哪
- 群星.2024-追风者电视剧影视原声带【SONY】【FLAC分轨】