Why not always use enctype=“multipart/form-data”?

2020-02-08 04:32发布

问题:

When building HTML forms why do we not always use enctype="multipart/form-data"?

回答1:

multipart/form-data is a lot bulkier than application/x-www-form-urlencoded; the latter is just a bunch of keys and values (and can be parsed the same way whether for GET or POST), whereas the former requires full MIME support, and is thus more useful when you have data that can't simply be represented as key/value pairs.



回答2:

Because it's a pain to handle, both on the server and in custom clients. Simple is better than complicated, unless simple just doesn't work.



回答3:

With PHP it doesn't matter what kind o enctype the form had. You always get key/value pairs.

So if harder coding is the only reason not to and you are using PHP, just use enctype="multipart/form-data".

Is there any other reason?



回答4:

Mulipart implicits that we are going to use different mime-types. For example, sending a binary file, you will have one part with the x-www-form-urlencoded part and the other with the octet-stream. Most of the times what you send is from the same mime type.