не может загружать несколько файлов с помощью платформы API и загрузки Vich - PullRequest
0 голосов
/ 16 июня 2020

Я попытался отредактировать действие платформы API, чтобы загрузить один файл, чтобы можно было загружать несколько файлов:

enter image description here

Я добавил разные ключи для файлов в сообщении человек для загрузки нескольких файлов. У меня есть объект 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;
    }
}

Результат дампа:

enter image description here

Я получил массив файлов, как я могу отредактировать свой код, чтобы исправить ошибку:

Возвращаемое значение Vich \ UploaderBundle \ Mapping \ PropertyMapping :: getFile () должно быть экземпляром Symfony \ Component \ HttpFoundation \ File \ File или null , возвращен массив

...