Mux と net/http を使用して Golang で単純なファイル アップロード エンドポイントを実装しようとすると、リクエスト本文のファイル データが問題を引き起こす可能性があります。次の解決策は、この問題に対処します:
import ( "bytes" "fmt" "io" "net/http" "strings" ) func ReceiveFile(w http.ResponseWriter, r *http.Request) { r.ParseMultipartForm(32 << 20) // limit your max input length! var buf bytes.Buffer file, header, err := r.FormFile("file") // replace "file" with the expected form field name if err != nil { panic(err) } defer file.Close() name := strings.Split(header.Filename, ".") fmt.Printf("File name %s\n", name[0]) io.Copy(&buf, file) contents := buf.String() fmt.Println(contents) buf.Reset() return }
この関数:
以上がGolang net/http サーバーでファイルのアップロードを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。