Symfony, как проверить входящее изображение, закодированное в base64?

Я получаю в запросе POST изображение, закодированное в base64. Как я могу проверить это изображение? Я попытался сохранить его как временное изображение в файловой системе, но ограничения symfony для изображений не передают его, как не загруженное. Может быть, я что-то упускаю или могу создать трансформатор или новые ограничения?

Я использую симфони 2.8.


person Oleksandr Savchenko    schedule 25.11.2016    source источник
comment
› Я попытался сохранить его как временное изображение в файловой системе. Как? › ограничения symfony не проходят, как не загруженные. Каков результат?   -  person Andy Gauge    schedule 26.11.2016
comment
@AndyGauge, если я не ошибаюсь, сообщение: Не удалось загрузить файл.. Как? С загруженным файлом. Я генерирую такой и помещаю в запрос   -  person Oleksandr Savchenko    schedule 26.11.2016
comment
вы можете написать собственный валидатор, проверяющий, что imagecreatefromstring возвращает правильный ответ. Дайте мне знать, что вам нужна дополнительная информация   -  person Matteo    schedule 26.11.2016


Ответы (1)


Вам нужно будет реализовать собственный преобразователь данных для заданного поля формы. Он должен преобразовывать данные в base64 и обратно.

person ShiraNai7    schedule 25.11.2016
comment
Тогда вы внедрили/использовали его неправильно. Если вы правильно выполняете преобразование между строкой base64 и ‹всем, что ожидает сущность› (UploadedFile?), проверка должна пройти успешно. - person ShiraNai7; 28.11.2016
comment
Проверка делает вызов is_uploaded_file, и этот файл не загружается, и мы получаем ошибку проверки. - person Oleksandr Savchenko; 28.11.2016
comment
Попробуйте использовать File вместо UploadedFile - person ShiraNai7; 28.11.2016