ホームページ > バックエンド開発 > Golang > Golang net/http サーバーでファイルのアップロードを処理するにはどうすればよいですか?

Golang net/http サーバーでファイルのアップロードを処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-09 19:12:25
オリジナル
818 人が閲覧しました

How to Handle File Uploads in a Golang net/http Server?

Golang net/http サーバーを使用してアップロードされたファイルを受信する方法

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート