Golang 实现简单的文件上传



Golang 实现简单的文件上传_第1张图片

Golang 实现简单的文件上传_第2张图片


示例代码:

package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

const (
	upload_path string = "./upload/"
)

func load_success(w http.ResponseWriter, r *http.Request) {
	io.WriteString(w, "上传成功!")

}

//上传
func uploadHandle(w http.ResponseWriter, r *http.Request) {
	//从请求当中判断方法
	if r.Method == "GET" {
		io.WriteString(w, "上传"+
			"
"+ ""+":"+ "

    "+ "
") } 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, "/success", http.StatusFound) //io.WriteString(w, head.Filename) } } func main() { fmt.Println("OK!") //启动一个http 服务器 http.HandleFunc("/success", load_success) //上传 http.HandleFunc("/upload", uploadHandle) err := http.ListenAndServe(":8080", nil) if err != nil { fmt.Println("服务器启动失败") return } fmt.Println("服务器启动成功") }




和Java语言相比,go语言程序更加简洁、轻便;并发性好;良好的语言设计和拥有较好的执行性能。



你可能感兴趣的:(Golang 实现简单的文件上传)