Я создаю простое расширение на основе extbase / fluid, которое имеет форму загрузки в подключаемом модуле внешнего интерфейса. Он работал в 6.0.4, но теперь я получаю следующее исключение, когда пытаюсь загрузить файл:
# 1297759968: Исключение при сопоставлении свойств в пути свойства "fichier": не найден преобразователь, который можно использовать для преобразования из "массива" в "строку".
Проблема, похоже, связана с тем, что веб-запрос получает массив для загруженного файла, но модель сохраняет его в виде строки. Как мне избавиться от этого исключения? Как мне обрабатывать загрузку файлов в extbase?
Расширение было запущено с использованием Extension Builder
. fichier
- это строковое свойство в модели, содержащее имя загруженного файла (расположенного в uploads/tx_myext/
). Шаблон для подключаемого модуля содержит сборку поля загрузки из form.upload
ViewHelper. В TYPO3 6.0.4, когда я отправляю форму, я получаю объект в качестве аргумента функции createAction
. Из этого объекта я вызываю getFichier
, который возвращает мне файловый массив загруженного файла. Затем я могу извлечь исходное имя файла, скопировать временный файл в нужное место и установить значение свойства fichier
, используя исходное имя файла.
Теперь, в TYPO3 6.1.0, я получаю указанное выше исключение перед входом в функцию createAction
. Мой гость в том, что PropertyMapper пытается преобразовать массив файлов в строку, соответствующую типу свойства fichier
.
Чего я не знаю, так это то, как это работало раньше, было ошибкой, или это то, как это работает сейчас, это ошибка. И если это действительно работает так, как задумано, как я могу обрабатывать загрузку файлов в расширении extbase?