formulaire upload fichier
Bonjour,
je cherche à faire un formulaire pour un upload de fichier
Mon formulaire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'description' => new sfWidgetFormInputText(),
'url' => new sfWidgetFormInputFile( array( 'label' => 'Image', ) ),
));
$this->setValidators(array(
'id' => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
'description' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
'url' => new sfValidatorFile(array(
'mime_types' => 'web_images',
'path' => sfConfig::get('sf_upload_dir').'/images' ,
'required' => true
)),
));
$this->widgetSchema->setNameFormat('pic_medias[%s]');
$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema); |
Mon action
Code:
1 2 3 4 5
|
public function executeLoad(sfWebRequest $request )
{
$form = new LoadMediasfForm ();
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); |
ça m'al'air simple efficace et de bon gout.
Pourtant si je met le champ url qui correspond au fichier à télécharger à false
y a rien dans la base de donnée et le fichier n'est pas téléchargé
Si je met le champ à true j'ai une erreur
-url [Required.] ( ce qui est logique)
pourtant quand je fais var_dump de la requete
le champ est bien renseigné
Une piste... ?
Pi
Petite précion, en fait non
Je corrige mon message précédent
Après vérification
Si je met le champ url
J'ai l'erreure suivant paradoxale
Code:
1 2 3 4 5
| description [Required.]
at sfValidatorSchema->doClean
(array('description' => 'Nénuphars.jpg',
'_csrf_token' => '98683f41f1c9601f30541834d661069f')) |
Donc le champ est bien renseigné,
mais génère une erreur comme s'il ne l'était pas,
et le fichier n'est apparement pas uploadé
(Développement en local sous Wamp).
Mon dossier de téléchargement existe et en accès à l'écriture...
Je sais plus bien quoi essayer.
No idea everybody ?
Pi