1. ホーム
  2. Web制作
  3. HTML/Xhtml

form ファイルをアップロードする際のenctypeフィールドの用途は何ですか?

2022-01-26 01:50:34
FORM要素のenctype属性は、フォーム・データをサーバに送信する際に使用されるエンコーディングの種類を指定します。
このエンコーディングメソッドは、フォームを送信する前にコンテンツをurlencodeでエンコードします。(スペースは "+" に変換され、特殊文字は ASCII HEX 値に変換されます)。
例えば、フォーム・フィールドに
firstnameはbb ,.で埋まっています。
送信前の最終結果は、bb+%2C%2Cとなります。
しかし、このエンコーディングは、大量のテキスト、非ASCII文字を含むテキスト、バイナリデータをサーバーに送信する場合には非効率的です。
ファイルをアップロードする際のエンコード形式は、テキストとバイナリの両方に対応した "multipart/form-data" を使用する必要があります。
ブラウザ側の <form> フォームの ENCTYPE 属性は multipart/form-data で、転送するデータはマルチメディア転送プロトコルを使用するように指示されており、マルチメディア転送は大容量データなので、ファイルアップロードは post メソッドでなければならず、 <input> のタイプ属性は file でなければならないと指定されています。