Enviar archivo en formulario mediante ajax y recibirlo en un action de sf 1.4

747 views
Skip to first unread message

JERONIMO SALAZAR RAMIREZ

unread,
May 9, 2012, 4:43:32 PM5/9/12
to symfo...@googlegroups.com
Buen día a todos, alguien tiene una idea de los siguiente:ç

Tengo un formulario con los siguientes datos:

fecha
descripcion
evidencia

el campo evidencia en la bd guarda la ruta a un archivo que se sube, el widget de este campo en el form corresponde aun inputFile, ahora este formulario lo tengo que mandar mediante ajax haciendo uso de jquery como sigue:

...se intercepta el vento submit del form para enviarlo mediante ajax
$.ajax({
               type: 'POST',
               url: $(this).attr('action'),
               data: $(this).serialize(),
               success: function(data) {
                   if(data == "true")
                    {
                        window.location.href = "<?php echo url_for('@qsf_seguimiento?id='.$form->getOption('qsf_id')) ?>";
                    }
                   $('#result').html(data);
               },
               contentType: 'multipart/form-data'              
            });
            return false;
        });

Entonces como ven los datos se envian con el emtodo serialize de jquery, pero el archivo no se envía por lo que el meto $request->getFiles('nombre_form') me regresa un array vacio.

Si alguien ya ha hecho esto, agradezco sus puntos de vista.

--
-------------------------------------------------------
Si programas  en PHP, usa Symfony
-------------------------------------------------------
Navega mas seguro con FireFox
------------------------------------------------------


Edwind Richzendy Contreras Soto

unread,
May 10, 2012, 9:19:16 AM5/10/12
to symfo...@googlegroups.com
El día 9 de mayo de 2012 16:13, JERONIMO SALAZAR RAMIREZ
<jsr...@gmail.com> escribió:
Creo que puedes utilizar Ajax como se acostumbraba en la versión 1.0
de symfony que venía con prototype incluido, instalando el plugin
sfJqueryReloadedPlugin[1], luego puedes revisar en la
documentación[2][3] la cual trae bastantes ejemplos de como realizar
estas cosas a la "symfony way", solo ten cuidado de que con este
plugin y la versión 1.4 todo es igual excepto el nombre de los helpers
ya que por ejemplo en prototype tenías:

<?php echo link_to_remote(....);?>

Con el plugin debe ser:

<?php echo jq_link_to_remote(....);?>


[1] http://www.symfony-project.org/plugins/sfJqueryReloadedPlugin
[2] http://www.librosweb.es/symfony_1_0/capitulo11/parametros_para_la_ejecucion_remota.html
[3] http://www.librosweb.es/symfony/capitulo11/helpers_de_ajax.html


>
> --
> -------------------------------------------------------
> Si programas  en PHP, usa Symfony
> -------------------------------------------------------
> Navega mas seguro con FireFox
> ------------------------------------------------------
>
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de
> Google Groups.
> Para publicar en este grupo, envía un email a symfo...@googlegroups.com
> Para darte de baja, envía un email a symfony-es+...@googlegroups.com
> El resto de opciones puedes encontrarlas en
> http://groups.google.com/group/symfony-es?hl=es

Grupo Colca

unread,
May 11, 2012, 2:03:08 AM5/11/12
to symfony-es
Saludos:

Hasta donde se no se puede, subir archivos con ajax, para eso se
truquea con Iframes

Pero encontre esto este post para HTML5
http://www.cristalab.com/tutoriales/como-subir-archivos-con-ajax-en-html5-c104046l/

Espero te sirva
> Si programas  en PHP, usa Symfony <http://www.symfony.com>

Oswaldo Zárraga

unread,
May 16, 2012, 7:21:51 AM5/16/12
to symfo...@googlegroups.com
En la definición delformulario, cheque si losatributos estan dispuestos para el envio de archivos.

Por otro lado, puede ser conveniente fabricar una copia del form pero en javascript para enviarlo.

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es



--
______________
Oswaldo Zárraga
TSU. Informática Para la Gestión Social
+58416-718-5472

Reply all
Reply to author
Forward
0 new messages