Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Symfony2: Formist faili upload, üle ajaxi. märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
kpihus
Kreisi kasutaja
kpihus

liitunud: 14.04.2003




sõnum 31.07.2014 07:34:46 Symfony2: Formist faili upload, üle ajaxi. vasta tsitaadiga

Üritan üle ajaksi postitada html vormi sisu, koos failiga, aga fail ei taha serverisse kohale jõuda.

Form on tekitatud symfony enda vahenditega:

     $form = $this->createForm(new ProductType($company),$prod,array(
                'em'=>$em,
                'action'=>$this->generateUrl('save_prod_ajax')
            ));

Vormi postitamisel korjatakse lahtrite väärtused kokku, ning saadetakse ajaxiga serveri poole:


            function postForm( $form, callback){
                var values = {};
                $.each( $form.serializeArray(), function(i, field) {
                    values[field.name] = field.value;
                });
                $.ajax({
                    type        : $form.attr( 'method' ),
                    url         : $form.attr( 'action' ),
                    data        : values,
                    success     : function(data) {
                        callback( data );
                    }
                });
            }

Ning sertveris majandan jälle vorminga nii nagu symfonys see asi tavaliselt käib.



if($request->isMethod('POST')){
            $form->handleRequest($request);
            if($form->isValid()){
                $product = $form->getData();
                $product->setCompany($company);
                $product->upload();
                $em->persist($product);
                $em->flush();
                return new JsonResponse('OK');
            }
        }

Probleem on aga selles, et vormi andmetega ei tule kaasa vailitud faili. Täpselt sama vormiga üle naturaalse http ühenduse postitades toimib faili upload ilusto.

Nagu ma aru saan, tuleb ajaxiga faili saatmisel teha postitamist kuidagi teistmoodi, kõik seni proovitud nipid on aga Symfony enda formi käsitlemise loogika katki teinud. See tähendab et vormi kas ei postitata üldse, või siis postitatakse, aga isValid saab vastu hambaid.
Kommentaarid: 26 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 31.07.2014 15:29:22 vasta tsitaadiga

Kas ajax'iga üldse saab faili saata? Kunagi ka mässasin, aga ei tulnud välja.
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.07.2014 17:22:28 vasta tsitaadiga

Kindlasti saab aga päris niisama see ei toimi, ise kasutasin mingit JQ form pluginat kui oli vajadus.

Edit: seda http://malsup.com/jquery/form/

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
kpihus
Kreisi kasutaja
kpihus

liitunud: 14.04.2003




sõnum 01.08.2014 06:59:35 vasta tsitaadiga

Põhimõtteliselt saab ajaxiga faili üles laadida, aga niipalju kui ma neid meetodeid näinud olen, kipivad nad kas olema eraldi jQuery pluginad, või lihtsalt Symfony formist aru saamise katki tegema.
Keegi reaalselt Symfony sees ei ole sellist ülesannet lahendanud ?
Kommentaarid: 26 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Symfony2: Formist faili upload, üle ajaxi.
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.