Serialization of 'Symfony\Component\HttpFoundation\File\UploadedFile' is not allowed

Temps de lecture : 3 minutes environ.

Problème

Lors de l'upload d'une image, souvent en utilisant l'entité User, le message d'erreur ci-dessous s'affiche.

Cette erreur survient généralement lorsqu'on tente de sérialiser un objet qui contient une instance de UploadedFile, une classe utilisée par Symfony pour gérer les fichiers téléchargés via des formulaires. En effet, UploadedFile ne peut pas être directement sérialisé en raison de sa nature complexe et des ressources temporaires qu'il représente.

Serialization of 'Symfony\Component\HttpFoundation\File\UploadedFile' is not allowed

Solution possible

Cela est dû à un soucis au niveau de la serialization de l'entité.

Il convient d'implémenter l'interface Serializable et d'ajouter 2 méthodes ci-dessous

public function serialize()
{
return serialize(array(
$this->id,
$this->username,
$this->password,
// see section on salt below
// $this->salt,
));
}

public function unserialize($serialized)
{
list (
$this->id,
$this->username,
$this->password,
// see section on salt below
// $this->salt
) = unserialize($serialized);
}
Serialization of 'Symfony\Component\HttpFoundation\File\UploadedFile' is not allowed
Article publié le

Catégories : Symfony FAQ

Mots-clés :

Partager : Partager sur Facebook Partager sur Twitter Partager sur LinkedIn