Subir archivos con PHP/jQuery (Ajax)

lombervid Seguir

Zeta
Verificación en dos pasos desactivada
Desde
29 Abr 2011
Mensajes
1.516
Hola.

Bueno pues lo que quiero hacer es subir un archivo, pero sin salir de la página actual.

Por ejemplo, tengo mi página formulario.html que es donde voy a cargar el archivo con un input file y al darle click al botón subir que me cargue upload.php (que es donde se reliza la subida del archivo) mediante Ajax ($.ajax();).

Cuando es datos tipo texto todo bien, pero al pasar un tipo file me sale error :(

Hay alguna forma de poder hacerlo ya sea con jQuery o de alguna otra forma? (sin plugins)

Saludos!! :p7:
 

ecoal95

Gamma
Programador
Verificación en dos pasos desactivada
Desde
1 Sep 2012
Mensajes
243
Sí, con window.FormData.
Échale un vistazo a esto (que conste que no pretendo hacer spam):
Formulario de contacto: Añadiendo el adjunto | Emilio Cobos-CMC

Te recomiendo descargar el código y demás. en este caso envío el archivo por correo, pero puedes cambiar la funcionalidad para guardar el archivo con move_uploaded_file.

Además, en la parte de Javascript, podrías cambiar el evento 'onsubmit' del formulario por el evento 'onchange' de tu input.

Espero ayudar! ;)
 

neburor

Dseda
Verificación en dos pasos desactivada
Desde
1 Jul 2012
Mensajes
1.212
con ajax no puedes enviar archivo o imagenes, para eso ocupas hacerlo con iframes ya sea ocultos o no ocultos, para que solo se refresque el iframe
 

lombervid

Zeta
Verificación en dos pasos desactivada
Desde
29 Abr 2011
Mensajes
1.516
Aunque en el link ese no le entendi muy bien, si ya lo habia logrado con FormData, aunque como ahi dice IE9- no lo soportan :ambivalence: pero también ya solucione eso :encouragement:

Saludos!! :p7:



Sí, con window.FormData.
Échale un vistazo a esto (que conste que no pretendo hacer spam):
Formulario de contacto: Añadiendo el adjunto | Emilio Cobos-CMC

Te recomiendo descargar el código y demás. en este caso envío el archivo por correo, pero puedes cambiar la funcionalidad para guardar el archivo con move_uploaded_file.

Además, en la parte de Javascript, podrías cambiar el evento 'onsubmit' del formulario por el evento 'onchange' de tu input.

Espero ayudar! ;)
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba