Bonjour, voila j'ai découvert un problème en testant mon site sur Firefox et IE9 lorsque je souhaite lier un avatar à un utilisateur. voici le debug de $this->data sous FireFox et I9 : [code]Array ( [id] => 2 [imgavatar] => new-york-city.jpg [color] => FF0000 [username] => mail@mail.com [pass] => motdepasse [nom] => CAKE [prenom] => PHP [date] => Array ( [day] => 27 [month] => 11 [year] => 1987 ) [sexe] => 0 [ville] => PARIS )[/code] Et voici le meme debug sous Chrome : [code]Array ( [id] => 2 [color] => FF0000 [username] => mail@mail.com [pass] => [nom] => CAKE [prenom] => PHP [date] => Array ( [day] => 27 [month] => 11 [year] => 1987 ) [sexe] => 0 [ville] => PARIS [imgavatar] => Array ( [name] => new-york-city.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\phpB696.tmp [error] => 0 [size] => 146363 ) )[/code] On remarque que sous Chrome on arrive à avoir le tableau avec les informations de l'image imgavatar ( name, type, tmp_name...) et que sous Firefox et IE9 on a uniquement le name de l'image ! Cela me pose un gros problème vu que j'utilise les informations de l'image pour faire mes contrôles. Avez vous une idée de l'origine du problème ?

5 réponses


Flohw
Réponse acceptée

oui, il faut, lorque tu crée ton formulaire (create('Model')) tu rajoutes l'option type que tu définies à 'file', ton create resemble donc au final à :

echo $this->Form->create('Model', array('type' => 'file'));
neoris
Auteur
Réponse acceptée

après plusieurs tentatives, j'ai remarqué que mon Form avait un mauvais enctype, j'avais mis 'multiform/form-data' au lieu de multipart/form-data , après ça marche beaucoup mieux ^^

Grafikart
Réponse acceptée

Merci flohw je connaissais pas cet attribut file XD
Je faisais :

echo $this->Form->create('Model', array('enctype' => 'multipart/form-data'));

(ça marche aussi d'ailleurs)

oui c'est ca mais c'est avec l'option que je t'ai donné que tu le fais facilement avec cake ;)

comme quoi on apprend à tout age ;)