Symfony 请求对象 - 文件 - 上传错误常量
Symfony Request Object - FILES - Upload error constants
我一直在关注 Fabien Potencier 的一篇关于从 Symfony 组件构建您自己的框架的文章。
$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 如何处理这个问题?
Request 对象的目的是保存请求数据,而不是验证它。如果您想进行验证,请创建一个对象(如果您将请求数据保存在某处,则为一个实体;如果没有,则只是一个简单的 php 对象),将 $_FILES
的内容设置为该对象,例如:
$model->setFile($request->files->get('fileFormInputName'));
并使用validator component to validate the file using the File constraint。
如果有附件发送,$request->files->get('fileFormInputName')
将是 instanceof Symfony\Component\HttpFoundation\File\UploadedFile
。
我希望这能回答你的问题。
我一直在关注 Fabien Potencier 的一篇关于从 Symfony 组件构建您自己的框架的文章。
$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 如何处理这个问题?
Request 对象的目的是保存请求数据,而不是验证它。如果您想进行验证,请创建一个对象(如果您将请求数据保存在某处,则为一个实体;如果没有,则只是一个简单的 php 对象),将 $_FILES
的内容设置为该对象,例如:
$model->setFile($request->files->get('fileFormInputName'));
并使用validator component to validate the file using the File constraint。
如果有附件发送,$request->files->get('fileFormInputName')
将是 instanceof Symfony\Component\HttpFoundation\File\UploadedFile
。
我希望这能回答你的问题。