Bonjour,
Je travaille avec symfony2, j'ai un formulaire de création d'événement. L'utilisateur doit pouvoir uploader 2 images et les visualiser avant la sousmission, un peu à la manière du bon coin : http://www2.leboncoin.fr/ai/form/1?ca=12_s
Je ne vois pas comment uploader l'image avant de soumettre le formulaire.
Voici ce que j'ai fait pour l'instant, ma vue :
Voici mon controleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 . . . <table> <tr><td class="td_label"> </td><td class="td_champ"> </td></tr> <tr class="tr_titre"><td class="td_label_titre" colspan="4"><strong>Une sortie avec une photo génère plus de visites</strong></td></tr> <tr><td class="td_champ_photo">Choisir le fichier<br /><span>(Optionnel) Taille maximum : 5mo</span></td> <td class="td_label"><input type="hidden" name="MAX_FILE_SIZE" value="5242880"> <input type="file" name="photo" id="photo"> </td><td class="td_label"> <a href="#"><img src="{{ asset('bundles/jimmyfront/images/ajouter_photo.png') }}" id="upload_button" /></a></td> </tr> </table> . . . // au clic sur le bouton upload, appel jquery $("#upload_button").click(function() { $.ajax({ type: 'GET', dataType: 'json', url: '{{ path('upload_photo') }}', data: 'photo=' + document.getElementById('photo').value, success: function(response) { /*$('#ville').find("option").remove(); $('#ville').append(new Option('Choisir une ville', ''));*/ $.each(response, function(i, item) { /*$('#ville').append(new Option(item, i));*/ alert(item); }); } }) });
J'ai bien mon alert qui s'affiche avec le nom de l'image mais je suis bien avec ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function uploadphotoAction(){ $request = $this->container->get('request'); if ($request->isXmlHttpRequest()) { $fichier= $request->query->get('photo'); move_uploaded_file($fichier, '../uploads/'. $fichier); } $response = new Response(json_encode(array($fichier))); $response->headers->set('Content-Type', 'application/json'); return $response; }
Je ne vois absolument pas comment uploaer l'image, si vous pouvez me mettre sur la bonne piste
D'avance merci
Partager