Объект запроса Symfony — ФАЙЛЫ — Константы ошибок загрузки

Я следил за статьей Фабьена Потенсье (Fabien Potencier) о создании собственного фреймворка из Symfony Components.

$request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();

Я думал, что объект Request может быть использован в качестве замены суперглобальных элементов PHP. Однако, если я загружаю файл, и он сталкивается с ошибками (т. Е. Загрузка пустого файла), он не содержит никакой информации об ошибке?

Вот вывод массива $ _FILES, он содержит код ошибки

Array
(
[inputIndex] => Array
(
[name] => Array
(
[3] =>
)

[type] => Array
(
[3] =>
)

[tmp_name] => Array
(
[3] =>
)

[error] => Array
(
[3] => 4
)

[size] => Array
(
[3] => 0
)

)

)

Вот вывод объекта $ request

Array
(
[inputIndex] => Array
(
[3] =>
)

)

В случае $ _FILES объект запроса теряет много информации. Содержится ли он где-нибудь еще в объекте запроса? Как Symfony справляется с этим?

0

Решение

Цель объекта запроса — хранить данные запроса, а не проверять их. Если вы хотите выполнить проверку, создайте объект (Entity, если вы сохраняете данные запроса где-либо, или просто простой объект php, если нет), установите содержимое $_FILES к объекту, как:

$model->setFile($request->files->get('fileFormInputName'));

и использовать компонент проверки проверить файл с помощью Ограничение файла.
Если вложение отправлено, $request->files->get('fileFormInputName') будет instanceof Symfony\Component\HttpFoundation\File\UploadedFile,

Я надеюсь, что это отвечает на ваш вопрос.

2

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

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

По вопросам рекламы [email protected]