Go 言語の開発プロセス中、編集者 Apple は、multipart パッケージを使用してフォーム アップロード ファイルを処理するときに、multipart.Part オブジェクトから multipart.File を取得する必要性によく遭遇します。ただし、標準ライブラリの multipart パッケージは、multipart.File を取得するメソッドを直接提供しませんが、デフォルトでファイルをディスクに保存します。では、この制限を回避して、multipart.Part から直接 multipart.File を取得する方法はあるのでしょうか?次にGoでmultipart.Partからmultipart.Fileをディスクに保存せずに取得する方法を紹介します。
私の go API では、r.Body
から multipart.File
を抽出することで以前は正常に機能していました。良い関数は次のとおりです。次のように###
リーリー
multipart.File を使用して、minio クライアントを使用して s3 API にアップロードします
リーリー
この質問に基づいて、multipart.Part からフォームデータを取得するために
MultipartReader を実装しました。
multipart.File がないため、可能であればディスクに書き込んで再度読み取ることなく、そのパーツを実装する必要があります。
file, handler, err := r.FormFile("file")回避策すでにフォームの一部をストリーミングしています。今すぐ
FormFile を呼び出すことはできません。ファイルを自分で読み取る必要があります。
part.Read を使用して、ファイルのバイトを読み取るか、ファイルをコピーします。
part は
io.Reader を実装しているため、ファイルのように読み取ることができることに注意してください。
以上がディスクに保存せずにGoでmultipart.Partからmultipart.Fileを取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。