Golang 中逐行读取文件内容
在Golang中,可以通过使用`net/http`包来读取前端传输的文件内容。
首先,服务端需要设置一个HTTP路由处理函数来接收前端传输的文件。这可以通过使用`http.HandleFunc()`函数来实现。在路由处理函数中,可以使用`request.ParseMultipartForm()`函数来解析前端发送的multipart/form-data类型的表单数据。
示例代码如下所示:
```go
package main
import (
"net/http"
"fmt"
)
func fileHandler(w http.ResponseWriter, r *http.Request) {
err := r.ParseMultipartForm(32 << 20) // 设置最大文件大小为32MB
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
file, _, err := r.FormFile("file") // 获取文件内容
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
defer file.Close()
// 处理文件内容,例如保存至本地或上传至云端
// ...
fmt.Fprint(w, "文件上传成功")
}
func main() {
http.HandleFunc("/upload", fileHandler)
http.ListenAndServe(":8080", nil)
}
```
在上述代码中,`fileHandler`函数用于处理前端传输的文件数据。通过调用`r.FormFile("file")`可以获取到文件的内容。接下来,你可以根据具体的需求对文件内容进行处理,例如保存至本地或上传至云端。
最后,通过调用`http.HandleFunc()`函数设置服务器的路由处理函数,并使用`http.ListenAndServe()`函数监听指定的端口,等待客户端的请求。
这样,当前端向服务端发送文件内容时,服务端可以通过上述代码读取并处理文件内容。