Загрузка коллекции файлов symfony 3 с помощью vichuploader и base64

У меня есть форма с файлами коллекции:

$builder
->add('files', CollectionType::class, [
'entry_type' => FileType::class,
'allow_add' => true
])
...
$builder
->get('files')->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
// it seems not working
if (null == $event->getData()) {
$event->setData($event->getForm()->getData());
}
})
;

FileType содержит содержимое Base64, отправленное AJAX в формате, соответствующем документу:
egeloen / IvoryBase64FileBundle

{
"name": "filename.png",
"value": "iVBORw0KGgoAAAANSUhEUg..."}

После отправки формы файлы имеет значение NULL. Это произошло после того, как Symfony был обновлен с 3.3.12 до 3.4. Похоже, что событие PRE_SUBMIT удаляет данные из FileType.

Ответ 45730015 не работает для меня. Я проверил случай в Symfony \ Component \ Form \ Form (547)

if ($dispatcher->hasListeners(FormEvents::PRE_SUBMIT)) {
$event = new FormEvent($this, $submittedData);
$dispatcher->dispatch(FormEvents::PRE_SUBMIT, $event);

// Here $submittedData has content
$submittedData = $event->getData();
// Here $submittedData is null
}

Когда я удалил $ submitData = $ event-> getData (); все нормально. Но это класс Symfony, так что это не решение. Я думаю, что это имеет отношение к ошибка № 24993. Я понятия не имею, как это можно исправить. что я делаю не так Кто-нибудь может мне помочь?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector