api platform + react : envoyer des fichiers
Bonjour,
j'ai suivi la documentation apiplatform pour uploader des ficheirs.
Tout fonctionne correctement ... avec insomnia !
Mais au moment de faire la requête dans mon front React, je n'arrive pas à envoyer le fichier choisi !
le React:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| const handleSubmit = (ev) => {
const file = document.getElementById('file').files[0]
console.log('le fichier: ', file)
ev.preventDefault()
fetch('api/animals/' + props.id + "/image", {
method: "POST",
headers: {
'Content-Type': 'multipart/form-data'
},
body:
// quoi mettre ici ?
}) |
Le controller (pour le post personnalisée):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
class AnimalImageController
{
public function __invoke(Animal $animal, Request $request)
{
$image = new ImageAnimal($animal);
$uploadFile = $request->files->get('file');
dd($request);
$image->setFeatured(false);
$image->setImageFile($uploadFile);
return $image;
}
} |
J'ai beau bidouiller dans le body:
{file: file}
{imageFile: file} ( imageFile est le nom du champ dans ma table qui contient les chemins vers les images)
file...
Il n'y a aucune trace de fichier dans $request !
J'avoue, je ne sais pas comment faire.
Merci,
Laurent.