Я попытался отредактировать действие платформы API, чтобы загрузить один файл, чтобы можно было загружать несколько файлов:
Я добавил разные ключи для файлов в сообщении человек для загрузки нескольких файлов. У меня есть объект MediaObject, который можно загрузить:
class MediaObject
{
...
/**
* @var File|null
*
* @Assert\NotNull(groups={"media_object_create"})
* @Vich\UploadableField(mapping="media_object", fileNameProperty="filePath")
*/
public $file;
In th action :
final class CreateMediaObjectAction
{
public function __invoke(Request $request): MediaObject
{
$uploadedFile = $request->files->all();
dd($uploadedFile); // dump here
if (!$uploadedFile) {
throw new BadRequestHttpException('"file" is required');
}
$mediaObject = new MediaObject();
$mediaObject->file = $uploadedFile;
return $mediaObject;
}
}
Результат дампа:
Я получил массив файлов, как я могу отредактировать свой код, чтобы исправить ошибку:
Возвращаемое значение Vich \ UploaderBundle \ Mapping \ PropertyMapping :: getFile () должно быть экземпляром Symfony \ Component \ HttpFoundation \ File \ File или null , возвращен массив