写一段go 接收jpg文件的代码
时间: 2024-05-16 09:16:33 浏览: 14
以下是一个简单的 Go 代码示例,用于接收上传的 JPG 文件并将其保存到本地:
```go
package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
)
func main() {
http.HandleFunc("/upload", uploadHandler)
log.Fatal(http.ListenAndServe(":8080", nil))
}
func uploadHandler(w http.ResponseWriter, r *http.Request) {
file, header, err := r.FormFile("file")
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
defer file.Close()
// 检查文件类型
if header.Header.Get("Content-Type") != "image/jpeg" {
http.Error(w, "Invalid file type", http.StatusBadRequest)
return
}
// 创建本地文件
localFile, err := os.Create(header.Filename)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
defer localFile.Close()
// 将上传的文件写入本地文件
_, err = io.Copy(localFile, file)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Fprintf(w, "File %s uploaded successfully", header.Filename)
}
```
在上面的代码示例中,我们使用 Go 的标准库中的 `net/http` 包和 `os` 包来处理 HTTP 请求和文件操作。`http.HandleFunc()` 函数注册了一个 `/upload` 的路由,当用户向该路由发送 POST 请求时,会调用 `uploadHandler` 函数。
在 `uploadHandler` 函数中,我们首先通过 `r.FormFile("file")` 获取上传的文件,然后检查文件类型是否为 JPEG 格式。如果文件类型不正确,我们返回一个错误响应。如果文件类型正确,我们创建一个本地文件并将上传的文件写入其中。最后,我们向客户端发送一个成功响应。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)