Foros del Web » Programando para Internet » Jquery »

Upload archivo jquery

Estas en el tema de Upload archivo jquery en el foro de Jquery en Foros del Web. Hola, Tengo un formulario con varios campos de texto y un Código HTML: <input type= "file" > que quiero que se guarden en una base ...
  #1 (permalink)  
Antiguo 22/08/2012, 04:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 10 meses
Puntos: 0
Upload archivo jquery

Hola,

Tengo un formulario con varios campos de texto y un
Código HTML:
<input type="file"> 
que quiero que se guarden en una base de datos y el archivo se suba a un servidor.

Los campos de texto no tengo ningún problema en obtenerlos desde jquery y manarselos a una pagina php que haga el insert. Basta con poner el .val() en el elemento que necesito.

Pero que es lo que tengo que hacer para mandar a una pagina php intermediaria el contenido del input file del mismo modo que se lo mandaría desde el html con el form y el
Código HTML:
enctype="multipart/form-data"
?

Agradecería cualquier ayuda por pequeña que pueda parecer..

Muchas gracias
  #2 (permalink)  
Antiguo 22/08/2012, 11:28
Avatar de kvillaloboscr  
Fecha de Ingreso: agosto-2012
Ubicación: Costa Rica
Mensajes: 12
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Upload archivo jquery

Hola, @thorrr.

No es posible el envío de archivos mediante AJAX, por motivos de seguridad y estándares, no se considera correcto. La alternativa en este caso, es enviar los datos mediante un iFrame oculto, el cual esté apuntando hacia una página PHP, la cual va a procesar los datos y los guarda en la BBDD.

Entonces, lo que podrías hacer es en el momento de declarar la etiqueta form, especificarle un target, que sería el nombre del iFrame que va a enviar los datos, luego haces el envío común y corriente con jQuery e inclusive si quieres puedes crear un plugin para manejar los errores y demás, pero eso es más avanzado.

Espero que mi respuesta te haya servido de ayuda.
Un saludo :)
  #3 (permalink)  
Antiguo 22/08/2012, 16:33
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: Upload archivo jquery

Cita:
Iniciado por kvillaloboscr Ver Mensaje
Hola, @thorrr.

No es posible el envío de archivos mediante AJAX, por motivos de seguridad y estándares, no se considera correcto. La alternativa en este caso, es enviar los datos mediante un iFrame oculto, el cual esté apuntando hacia una página PHP, la cual va a procesar los datos y los guarda en la BBDD.

Entonces, lo que podrías hacer es en el momento de declarar la etiqueta form, especificarle un target, que sería el nombre del iFrame que va a enviar los datos, luego haces el envío común y corriente con jQuery e inclusive si quieres puedes crear un plugin para manejar los errores y demás, pero eso es más avanzado.

Espero que mi respuesta te haya servido de ayuda.
Un saludo :)
Para aclarar que ya con HTML5 es posible realizar esto
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 23/08/2012, 04:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Upload archivo jquery

Gracias..

Mi objetivo es meter una imagen de "loading" o una barra de progreso o algo mientras se sube el archivo. He visto varios plugins que hacen esto, pero no consigo terminar de ponerlos en funcionamiento. Tienen demasiadas cosas para personalizar, y yo estaba buscando hacer algo simple a partir de lo que tengo hecho.

Puede que a partir de lo que me habeis comentado llegue a sacar algo..

Muchas gracias de nuevo
  #5 (permalink)  
Antiguo 23/08/2012, 08:49
Avatar de kvillaloboscr  
Fecha de Ingreso: agosto-2012
Ubicación: Costa Rica
Mensajes: 12
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Upload archivo jquery

Este artículo te puede servir: http://www.html5rocks.com/es/tutorials/file/dndfiles/
Saludos
  #6 (permalink)  
Antiguo 23/08/2012, 13:05
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: Upload archivo jquery

Cita:
Iniciado por kvillaloboscr Ver Mensaje
Este artículo te puede servir: http://www.html5rocks.com/es/tutorials/file/dndfiles/
Saludos
OJO que este codigo no funciona para los navegadores antiguos o mejor dicho que no disponen de la tecnologia de HTML5
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 23/08/2012, 18:53
Avatar de kvillaloboscr  
Fecha de Ingreso: agosto-2012
Ubicación: Costa Rica
Mensajes: 12
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Upload archivo jquery

Claro está, por eso es que se debe de comprobar si el navegador lo soporta. Además, no se me ocurre alguna otra solución
  #8 (permalink)  
Antiguo 24/08/2012, 12:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: Upload archivo jquery

Cita:
Iniciado por kvillaloboscr Ver Mensaje
Claro está, por eso es que se debe de comprobar si el navegador lo soporta. Además, no se me ocurre alguna otra solución
Otra forma que de repente puedes usar es el uso de iframe yo no lo uso particularmente pero he visto que funciona mira el ejemplo

Código HTML:
Ver original
  1. <form method="post" enctype="multipart/form-data" action="subirimagen.php" target="iframeUpload">
  2.                     <input type="file" name="logo" />
  3.                     <input type="submit" name="enviar" value="enviar" />
  4.                     <iframe name="iframeUpload" style="display:none" ></iframe>
  5. </form>

Esta forma he visto que algunos usan pruebalo a ver si te funciona y con esto ya no seria necesario el uso de jQuery y de recargar la pagina
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #9 (permalink)  
Antiguo 25/08/2012, 05:37
 
Fecha de Ingreso: febrero-2008
Mensajes: 40
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Upload archivo jquery

Hola,

Lo primero, muchas gracias por las respuestas.

La última respuesta se acerca mucho a lo que busco. Pero no me termina de funcionar..

Me imagino que el archivo "subirimagen.php" solamente contendría el contenido php correspondiente a subir el archivo al servidor, hacer las sql que fuesen necesarias y redirigir la página otra vez al inicio (en mi caso).

Y el iframe devería de contener supongo una página con un loading.gif, por ejemplo.

Lo suyo sería que mientras está procesando el "subirimagen.php" se mostrase en el iframe la página que contiene el "loading.gif".

Con el código que me habeis mostrado, aparentemente la página no hace nada al darle al botón submit del formulario. Sólo al refrescar la página te das cuenta de que ha hecho efecto el contenido de "subirimagen.php".

Podríais facilitar algún ejemplo simple en el que funcione el caso que he expuesto?

(Al darle al botón submit y mientras la página se queda medio bloqueada porque está subiendo el archivo de turno, mostrar el iframe con la imagen loading.gif o lo que sea).

Muchas gracias!!

Etiquetas: file, upload
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 11:02.