Files
pro-go-study/25-httpclient/httpclient/server_forms.go
yanzuoguang ddafa8ef7a feat(http): 添加HTTP重定向和表单处理功能- 新增main8函数处理HTTP重定向请求
- 新增main9函数自定义重定向逻辑并打印请求链
- 新增main10函数实现multipart表单数据发送- 添加server_forms.go文件处理multipart表单解析
- 添加server_redirects.go文件处理重定向路由
- 引入bytes和mime/multipart包支持表单数据构造
- 在main函数中调用新增的三个测试函数
2025-10-26 23:35:44 +08:00

30 lines
666 B
Go

package main
import (
"fmt"
"io"
"net/http"
)
func init() {
http.HandleFunc("/form", func(writer http.ResponseWriter, request *http.Request) {
err := request.ParseMultipartForm(10 * 60 * 1000)
if err != nil {
http.Error(writer, err.Error(), http.StatusInternalServerError)
return
}
for key, values := range request.MultipartForm.Value {
Printfln("Field: %v : %v", key, values)
}
for name, files := range request.MultipartForm.File {
for _, file := range files {
fmt.Fprintf(writer, "File %v : %v \n", name, file.Filename)
if f, err := file.Open(); err == nil {
defer f.Close()
io.Copy(writer, f)
}
}
}
})
}