4

私はこのトピックの質問と回答のペアが好きです:

enctype ='multipart / form-data'はどういう意味ですか?

私が欠けていると感じるのは、ブラウザ/サーバーが通常のフォームの投稿と投稿の違いをどのように感じているかmultipartです。ユーザーとしては、ブラウザーがフォームの送信にどのように反応するかに違いは見られず、Web開発者になりたいと思っているので、「一部」ではなく、全体(ファイルなど)で投稿を受け取ります...

良い答えは、マルチパートの部分が正確に何であるかを説明するでしょう?

4

1 に答える 1

1

post参照する質問で述べたように、フォームのエンコーディングを送信する方法は2つあります。application/x-www-form-urlencodedまたはmultipart/form-data

両方ともpostリクエストの本文で送信されます。getURL自体で渡される場所とは異なります。

両方の例を次に示し ます。http ://www.htmlcodetutorial.com/forms/form_enctype.html

partリクエストのurlencoded形式でのパラメータ名の他の表現であると言えますget

urlencoded: realname= パート: Content-Disposition: form-data; name="realname"

異なる部分は、ヘッダーで定義された境界によって区切られます。 Content-type: multipart/form-data; boundary=---------------------------7cd1d6371ec

エンコーディングの違いを編集する最も重要なことは、クライアントを使用すると、値のタイプ(たとえば)やファイル名などのmultipart/form-data追加情報をキーと値のペアに追加できることです。Content-Type: image/jpegこの情報を使用して、サーバーがさまざまなタイプの値に対して特定のアクションを実行することができます。

使用する場合application/x-www-form-urlencoded、標準化された方法でキーと値のペアの追加情報を保存することはできません。

これが、リクエストmultipart/form-dataとともにファイルを送信する場合に使用する必要がある理由です。postこれは、ファイルをurl形式でbase64エンコードされた値として渡すことができないためではなく、urlencodingを使用して、ファイルが文字列ではなくファイルであることをサーバーに通知する標準的な方法がないためです。

于 2013-03-07T11:39:57.243 に答える