Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Enviar un archivo a traves de un formulario

Estas en el tema de Enviar un archivo a traves de un formulario en el foro de Frameworks JS en Foros del Web. Para enviar un formulario con ajax, se utiliza: Código: ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); y si quiero enviar un archivo a traves del formulario, como seria asi: Código: ...
  #1 (permalink)  
Antiguo 24/10/2007, 05:45
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Enviar un archivo a traves de un formulario

Para enviar un formulario con ajax, se utiliza:

Código:
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
y si quiero enviar un archivo a traves del formulario, como seria asi:

Código:
ajax.setRequestHeader("Content-Type", "multipart/form-data");

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #2 (permalink)  
Antiguo 24/10/2007, 08:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Enviar un archivo a traves de un formulario

Hola:

La tecnología ajax no está pensada para actualizar el server con datos del usuario, sino el navegador del usuario con datos del server... he visto una solución para enviar archivos con ajax en estos foros, pero solo válida para un navegador concreto... Fíjate que no basta con enviar cabeceras al servidor, sino que debes convertir los datos del formulario a una cadena... y en eso javascript no puede hacer nada, porque debería leer los valores binarios del fichero que se seleccione en un campo file... y por razones de seguridad no es posible.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:03.