web-dev-qa-db-fra.com

Comment obtenir le téléchargement de fichiers sans formulaire

mon contrôleur reçoit des données de publication. Il ne s'agit pas d'un formulaire généré par Symfony, mais d'un formulaire personnalisé AngularJS utilisant FormData.

Les paramètres normaux sont reçus normalement dans le sac de paramètres de demande, mais comment puis-je obtenir le fichier qui est téléchargé? Dois-je faire manuellement la même chose que le handleRequest du formulaire?

Mon document est le même que le article de livre de cuisine .

J'ai donc besoin d'obtenir un UploadFile à partir de la demande de publication pour appeler cette méthode sur l'entité de document:

public function setFile(UploadedFile $file = null)

Comment puis-je recevoir un téléchargement manuellement dans Symfony 2 (sans utiliser le générateur de formulaire de quelque manière que ce soit)?

31
Tjorriemorrie

Request a un FileBag, similaire au ParameterBag

J'ai donc pu obtenir le fichier spécifié facilement avec:

$data = $this->getRequest()->request->all();
$file = $this->getRequest()->files->get('file');

et utilisez le document tel qu'il est extrait du livre de recettes:

$document = new Document();
$document->setFile($file);
$lead->setDocument($document);
58
Tjorriemorrie