golang实现图片上传
时间: 2023-07-26 19:16:13 浏览: 160
首先,需要在Go中引入`net/http`和`mime/multipart`包。然后,可以使用以下代码实现图片上传:
```go
func uploadImage(w http.ResponseWriter, r *http.Request) {
file, handler, err := r.FormFile("image")
if err != nil {
fmt.Println("Error Retrieving the File")
fmt.Println(err)
return
}
defer file.Close()
fmt.Printf("Uploaded File: %+v\n", handler.Filename)
fmt.Printf("File Size: %+v\n", handler.Size)
fmt.Printf("MIME Header: %+v\n", handler.Header)
// Save file to disk
f, err := os.OpenFile("./images/"+handler.Filename, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil {
fmt.Println(err)
return
}
defer f.Close()
io.Copy(f, file)
fmt.Fprintf(w, "Successfully Uploaded File\n")
}
```
这个函数接收一个HTTP请求并从表单中获取名为“image”的文件。然后,将文件保存到服务器磁盘上的指定目录中。
注意:在使用此代码之前,需要确保已创建名为“images”的目录,用于存放上传的图像。
阅读全文