华域联盟 Golang GO语言实现文件上传代码分享

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语言有所帮助。

本文由 华域联盟 原创撰写:华域联盟 » GO语言实现文件上传代码分享

转载请保留出处和原文链接:https://www.cnhackhy.com/110046.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们