[解決済み】enctype='multipart/form-data'とはどういう意味ですか?
質問
とは何ですか?
enctype='multipart/form-data'
は、HTML フォームにおいてどのような意味を持ち、どのような場合に使うべきでしょうか?
どのように解決するのですか?
POSTリクエストを行う場合、リクエストのボディを形成するデータを何らかの方法でエンコードする必要があります。
HTMLのフォームには、3つのエンコード方法があります。
-
application/x-www-form-urlencoded
(デフォルト) -
multipart/form-data
-
text/plain
を追加する作業が行われていました。
application/json
しかし、それは断念されました。
(HTMLフォームの送信以外の方法で生成されたHTTPリクエストでは、他のエンコーディングも可能です。JSON は Web サービスで使用される一般的なフォーマットであり、SOAP を使用するものもあります)。
フォーマットの詳細については、ほとんどの開発者にとって重要ではありません。重要なのは
-
を使用しないでください。
text/plain
.
クライアントサイドのコードを書いているとき。
-
使用
multipart/form-data
を含む場合、フォームに<input type="file">
要素 -
を使用することができます。
multipart/form-data
またはapplication/x-www-form-urlencoded
しかしapplication/x-www-form-urlencoded
より効率的になる
サーバーサイドのコードを書いているとき。
- あらかじめ記述されたフォーム処理ライブラリを使用する
ほとんどの(Perlの
CGI->param
や、PHP の
$_POST
スーパーグローバル) が、その差異を処理してくれます。サーバーが受け取った生の入力をわざわざパースしようとする必要はありません。
両方の形式を扱えないライブラリに出会うこともある。 Node.jsでフォームデータを扱うのに最もよく使われているライブラリは ボディパーサ はマルチパートリクエストを処理できません (しかし、処理できるいくつかの代替品を推奨するドキュメントがあります)。
生データを解析または生成するためのライブラリを書いている(またはデバッグしている)のであれば、フォーマットについて心配し始める必要があります。また、興味本位で知っておきたいと思うかもしれません。
application/x-www-form-urlencoded
は、多かれ少なかれ、URLの末尾にあるクエリー文字列と同じです。
multipart/form-data
はかなり複雑ですが、ファイル全体をデータに含めることができます。結果の例としては
HTML 4仕様
.
text/plain
は HTML 5 で導入されたもので、デバッグ時にのみ有用です。
仕様
:
コンピュータで確実に解釈できるものではない
- のような)ツールと組み合わせた他のものを主張したい。
ネットワークパネル
そのためには、ほとんどのブラウザの開発者ツールの方が優れています)。
関連
-
[解決済み] div に斜めのエッジを作成する [重複] 。
-
[解決済み] TD rowspan が機能しない
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] 403 Forbiddenと401 UnauthorizedのHTTPレスポンスの比較
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] <button> vs. <input type="button" />. Which to use?
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み] application/x-www-form-urlencoded or multipart/form-data?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CSSの背景画像が表示されない。
-
[解決済み] CSS "margin: 0 auto" が中央揃えにならない
-
[解決済み] will-change' や translateZ() ハックは 'transition: height' のパフォーマンスを向上させるか?
-
[解決済み] iFrameがURLを読み込んでいない
-
[解決済み] ionic 4でion-buttonをセンタリングする方法は?[重複しています]
-
[解決済み] Railsです。railsアプリで<img src= >をimage_tagに変換する方法
-
[解決済み] Bootstrapのカラム内で画像を中央に配置する方法 [重複]について
-
[解決済み] 順序なしリストが div 内で左いっぱいに整列されない
-
[解決済み] Visual Studio Code CSSエラー「空のルールセットを使用しないでください」【終了しました
-
[解決済み] type="application/x-shockwave-flash "で表示可能な形式は?