diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig index 4ef3c0779a6f..1b9c21ee8e15 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/request.html.twig @@ -131,6 +131,33 @@ {{ include('@WebProfiler/Profiler/bag.html.twig', { bag: collector.requestrequest, maxDepth: 1 }, with_context = false) }} {% endif %} +

Uploaded files

+ + {% if collector.requestfiles is empty %} +
+

No files were uploaded

+
+ {% else %} + + + + + + + + + + {% for file in collector.requestfiles %} + + + + + + {% endfor %} + +
File NameMIME TypeSize (bytes)
{{ file.name }}{{ file.mimetype }}{{ file.size|number_format }}
+ {% endif %} +

Request Attributes

{% if collector.requestattributes.all is empty %} diff --git a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php index 36e5634eeb87..ba630d66f834 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php @@ -57,6 +57,17 @@ public function collect(Request $request, Response $response, \Exception $except $content = false; } + $requestFiles = array(); + foreach ($request->files->all() as $files) { + foreach ($files as $fileName => $fileData) { + $requestFiles[] = array( + 'name' => $fileData->getClientOriginalName(), + 'mimetype' => $fileData->getMimeType(), + 'size' => $fileData->getSize(), + ); + } + } + $sessionMetadata = array(); $sessionAttributes = array(); $session = null; @@ -95,6 +106,7 @@ public function collect(Request $request, Response $response, \Exception $except 'status_code' => $statusCode, 'request_query' => $request->query->all(), 'request_request' => $request->request->all(), + 'request_files' => $requestFiles, 'request_headers' => $request->headers->all(), 'request_server' => $request->server->all(), 'request_cookies' => $request->cookies->all(), @@ -195,6 +207,11 @@ public function getRequestQuery() return new ParameterBag($this->data['request_query']->getValue()); } + public function getRequestFiles() + { + return $this->data['request_files']->getValue(true); + } + public function getRequestHeaders() { return new ParameterBag($this->data['request_headers']->getValue());