Bonsoir, je suis entrain de tester rédactor sous symfony2. (http://redactorjs.com/)
Pour éditer du texte et récupérer le html avec leurs balise ca fonctionne très bien, le problème arrive lorsque je souhaite récupérer une image, l'editeur permet de glisser directement l'image dans sa zone.
voici ce que j'obient lorsque j'upload l'image et du texte à l'aide de firebug
voici ma vue, qui me permet d'appeler l'éditeur de texte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <div id="page" contenteditable="true" dir="ltr"> <p> <img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANoAAABaCAMAAADpc7gxAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURRsdOQ0MWBUabRswUyEcTy8rUiA2XyMiaSM8aT0+eSdDdXcnLEA+YU9PcE9dd15YeW9ETmlnfyYthytLgi5QizNCnDpXijBTkjJXmTRcojhiqzxnsEtQj1tbjkZUp0BgmVZqjlpynUFnqExvrENss0pxtk91uFdhqFpttFR2tlR5ull5sll9vHJxjWd6rkxqwF6BvnmBmGaDtmOFwGaGy2+CxWyEzGiIwm6Nw2qN2HaJx3iUx5c4PaQcHYpaXZJNTpBpb61OTKBdXbxVQb5kTqh1dMQPC8A2NNcnINw+NfsJCPkdHPMvEPkvLvJGIfNTKf9WJv5gM8VWVtFuVsR6bflLSehkTeFqU/5qQP10Tv1+W/loZ596gNSKeOaKUfedW/yJaPuLd/yT...7odxEL3//4wkV9glaAnJKuFAF8e/vl7DW6ahZRZOM7Hd3EteSPHPvDd6KYhJ7Na7PHpvtYAOI8SQxD4WthoRFrlc9puI6eN1QRILp+5HOsoqyeNx1fKU59WcGfnvrQxUDt4VOAgj9FEY79wMjXuegNTC8d7ZYR6b6T9yXfyfnOxiGfb8mU0Kg/onjE1wZyVDc/gKHHDI7IlWI4UfmC95rlVCGeDVDSb3ZWF0QeK/RZOa1HXjEyoXdSVm/ui033q2xmSvPdxNCDiguPsTTbWKKjEncIP7HYcIYV8SUIF7H8KjyUPm6JXCm+vCPb4sTFgJN++j48cl8Ip/XIhWITelwDKKHnL8vD6T7dKCjN56TfRvk+7hd4WkMSKfF39fOtxOZy0wOkyn4axSBdO+j+IX2K/uXstS/oDIlDjFPKUz+nfMEOGYdOXxCJHS8/Ym5Ho0j92kKjV1af/3+6fG2hXd74/w/t8ms09ij+D4F0IteQKKmaAAAAAElFTkSuQmCC" _moz_dirty=""> abcfdsqfd <br> </p>
lorsque je clique sur le bouton enregistre , la route récup appelle la méthode recupAction
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
37
38
39
40
41 {% block body %} <h1>editeur un document</h1> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" href="{{ asset('lib/redactor/css/style.css') }}" type="text/css" /> <link rel="stylesheet" href="{{ asset('lib/redactor/redactor/css/redactor.css') }}" type="text/css" /> <script src="{{asset('lib/redactor/redactor/redactor.js')}}"></script> <script type="text/javascript"> $(document).ready( function() { $('#form_text').redactor({ imageUpload: "/lib/redactor/demo/scripts/image_upload.php", fileUpload: '/lib/redactor/demo/scripts/file_upload.php', imageGetJson: '/lib/redactor/demo/json/data.json' }); } ); </script> <style> #redactor { width: 500px; margin-left: 50px; } </style> <form id="redactor" action="{{path('recup')}}" method="post"> {{ form_label(form.text, "Titre de l'article") }} <!-- Affichage des erreurs pour ce champ précis. --> {{ form_errors(form.text) }} <!-- Génération de l'input. --> {{ form_widget(form.text) }} <input type="submit" value="enregistrer" /> </form> {% endblock%}
voici cette methode, je ne fait que récupérer le formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 recup: pattern: recup defaults: { _controller: ServiceDocumentBundle:editText:recup }
sur le print_r, je n'ai que les lettres taper et pas l'image qui va avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public function recupAction() { $request = $this->get('request'); print_r($request->get('form')); }
je n'ai pas l'image qui à été transmit dans le POST ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Array ( [text] => abcfdsqfd )
Si vous avez une idée.
voici à quoi resemble upload_image.php
Comment je peux m'y prendre pour avoir l'image ?
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 <?php // This is a simplified example, which doesn't cover security of uploaded images. // This example just demonstrate the logic behind the process. // files storage folder $dir = dirname(__FILE__); $dir = $dir."/"; $_FILES['file']['type'] = strtolower($_FILES['file']['type']); if ($_FILES['file']['type'] == 'image/png' || $_FILES['file']['type'] == 'image/jpg' || $_FILES['file']['type'] == 'image/gif' || $_FILES['file']['type'] == 'image/jpeg' || $_FILES['file']['type'] == 'image/pjpeg') { // setting file's mysterious name $filename = md5(date('YmdHis')).'.jpg'; $file = $dir.$filename; // copying copy($_FILES['file']['tmp_name'], $file); // displaying file $array = array( 'filelink' => '/images/'.$filename ); echo stripslashes(json_encode($array)); } ?>
Si vous avez une idée pour me guider ...
Merci d'avance pour la réponse
Partager