Ich habe das Formular (AbstractType
erstreckt):Symfony3-Ajax Hochladen mehrerer Dateien mit Hol- und Formdata
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('files', FileFieldType::class, [
'label' => 'Files',
'multiple' => true]
);
}
Diese winzige Form im Frontend (ReactJS):
<form onChange={onChange} ref={node => form = node}>
<input type="file" multiple={multiple} name="file[files]" />
</form>
I der Upload das folgende passiert geschieht:
const data = new FormData(form);
fetch('/upload', {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data'
},
body: data
});
Aber auf dem Server kommen keine Dateien, so in der Steuerung :
$request->files->all(); //[]
und daher ist die Form auch nie gültig.
In einem Funktionstest mir dies mit:
$client->request('POST', '/upload', [], ['file' => ['files' => $file]]);
wo $file
UploadedFile
auf ein Objekt vom Typ bezieht. Das funktioniert, was ist der Fehler hier?