@@ -59,7 +59,7 @@
|
||||
|
||||
上のコードでは、ファイルのアップロードを処理するためには`r.ParseMultipartForm`をコールする必要があります。引数には`maxMemory`が表示されています。`ParseMultipartForm`をコールした後、アップロードするファイルは`maxMemory`のサイズのメモリに保存されます。もしファイルのサイズが`maxMemory`を超えた場合、残った部分はシステムのテンポラリファイルに保存されます。`r.FormFile`によって上のファイルハンドルを取得することができます。その後実例の中では`io.Copy`を使ってファイルを保存しています。
|
||||
|
||||
>その他のファイルではないフィールド情報を取得する時は`r.ParseForm`をコールする必要はありません。必要な時はGoが自動でコールします。また`ParseMultipartFrom`を一度コールすると、その後にもう一度コールしても効果はありません。
|
||||
>その他のファイルではないフィールド情報を取得する時は`r.ParseForm`をコールする必要はありません。必要な時はGoが自動でコールします。また`ParseMultipartForm`を一度コールすると、その後にもう一度コールしても効果はありません。
|
||||
|
||||
上の実例を通して、ファイルのアップロードには主に3ステップの処理があることが分かります:
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
2. サーバで`r.ParseMultipartForm`をコールし、アップロードするファイルをメモリとテンポラリファイルに保存する。
|
||||
3. `r.FormFile`を使用して、ファイルハンドルを取得し、ファイルに対して保存等の処理を行う。
|
||||
|
||||
ファイルhandlerはmultipart.FileHnadlerです。この中には以下のような構造体が保存されています。
|
||||
ファイルhandlerはmultipart.FileHeaderです。この中には以下のような構造体が保存されています。
|
||||
|
||||
type FileHeader struct {
|
||||
Filename string
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
## クライアントによるファイルのアップロード
|
||||
|
||||
上の例でどのようにフォームからファイルをアップロードするのか示しました。その後サーバでファイルを処理しますが、Goは実はクライアントのフォームによるファイルのアップロードをエミュレートする機能をサポートしています。詳しい仕様方法は以下の例をご覧ください:
|
||||
上の例でどのようにフォームからファイルをアップロードするのか示しました。その後サーバでファイルを処理しますが、Goは実はクライアントのフォームによるファイルのアップロードをエミュレートする機能をサポートしています。詳しい使用方法は以下の例をご覧ください:
|
||||
|
||||
package main
|
||||
|
||||
|
||||
Reference in New Issue
Block a user