Upload_progress + form_remote_tag


#1

Hola a todos!

Bueno es mi primer post aunque llevo un tiempo leyendoos. Soy bastante
novato en esto de rails así que os pido paciencia :stuck_out_tongue:

Ando haciendo un uploader de imagenes para un CMS en rails y uso el
plugin “upload_progress” que queda muy chulo. Estoy intentando hacer la
aplicación los más ‘asíncrona posible’ y trato de evitar el máximo de
recargas (así que hay uso bastante ese bonito link_to_remote).

Bueno la duda es la siguiente:

¿Hay alguna alternativa ‘asíncrona’ al form_remote_tag que me permita
usar un uploadear un fichero sin recargar la pagina completa? Y más aun,
¿esta alternativa es compatible con el upload_progress? Tengo entendido
que Ajax hace un serialize de los campos del form y no posible incrustar
ahí un fichero binario. Así que no se me ocurre como subir un fichero de
esa forma tan elegante.

Muchas gracias de antemano

P.D.: Enhorabuena particularmente a Xavi Noria, Fernando B., Sergio
Gil y Javier R… Estuve en la conferencia hispana 2006 en Madrid y
me encantaron vuestras ponencias


#2

Hola Jose,

2007/1/4, Jose h. Milan removed_email_address@domain.invalid:

¿Hay alguna alternativa ‘asíncrona’ al form_remote_tag que me permita
usar un uploadear un fichero sin recargar la pagina completa? Y más aun,
¿esta alternativa es compatible con el upload_progress? Tengo entendido
que Ajax hace un serialize de los campos del form y no posible incrustar
ahí un fichero binario. Así que no se me ocurre como subir un fichero de
esa forma tan elegante.

Hace unos meses estuve trasteando una pequeña aplicación similar a la
tuya y
utilicé DojoToolkit (http://dojotoolkit.org/) para subirlas al servidor
sin
recargar la página. Creo recordar que el mecanismo usa un IFrame, que
crea
en tiempo de ejecución, que es el que finalmente “sube” el fichero.

Te iba a pasar un link en concreto, pero han crecido las referencias y
la
documentación sobre el asunto:
http://www.google.es/search?q=dojo+file+uploads&ie=utf-8&oe=utf-8&rls=org.mozilla:es-ES:official&client=firefox-a

Incluso ha salido un widget para visualizar el progeso de la subida
bastante
majo que no conocía:
http://ajaxian.com/archives/dojo-file-upload-progress-bar-widget

El único “problema” que tuve fue el poder identificar que la petición
venía
efectivamente de Javascript para no repetir código ya que el transporte
IframeIO no rellena la cabecera HTTP X_REQUESTED_WITH o similares, así
que
la acción del controlador no se me quedó tan “bonita” al no poder usar
request.xhr? :slight_smile:

En cuanto a la integración de Dojo con Rails hace unos días salió el
tema en
la lista.

Un saludo, Vicente.