enctype = “multipart/form=data”

Formas de POSTear datos

Con HTTP hay dos formas de POSTear datos:
application/x-www-form-urlencoded: Utilizado por defecto.
multipart/form-data: Utilizado cuando se requieren archivos o un volumen abundante de datos. Debe incluirse en el formulario el atributo enctype=”multipart/form-data”.

Sin enctype=”multipart/form-data”

POST /home/uploadfiles HTTP/1.1
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64)
Content-Length: 13

submit=Submit

Con enctype=”multipart/form-data”

Significa que el formulario será enviado en múltiples partes, es necesario para enviar archivos.

POST /home/uploadfiles HTTP/1.1
Content-Type: multipart/form-data; boundary=---------------------------7d81b516112482 
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64)
Content-Length: 324

-----------------------------7d81b516112482 
Content-Disposition: form-data; name="file"; filename="\\SERVER\Users\Scott\test.txt"
Content-Type: text/plain

foo
-----------------------------7d81b516112482
Content-Disposition: form-data; name="submit"

Submit
-----------------------------7d81b516112482--

¿Por qué no utilizamos siempre enctype=”multipart/form-data”?

Al no utilizarlo, los datos enviados, simplemente consisten en una serie de “key:values”, y pueden ser parseados como GET o POST.
Al utilizarlo, el volumen de los datos se hace mayor y solo puede utilizarse POST.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *