Symfony2.8。如何从发布请求中获取数据

时间:2016-02-13 22:39:13

标签: php json symfony post save

如何从控制器中的POST请求接收数据? 我不使用树枝。

public function newAction(Request $request)
{
   //when I use
   $content = $request->getContent();
   // as result I see "string" with need field and value. It's not json
   // array
   // value like
   /* 
      string '------WebKitFormBoundaryI12ukQBs3HdmPjvh
      Content-Disposition: form-data; name="title"

      "valuefortitle"
      ------WebKitFormBoundaryI12ukQBs3HdmPjvh
      Content-Disposition: form-data; name="name"

      "supername"
      ------WebKitFormBoundaryI12ukQBs3HdmPjvh--
      ' (length=253)
      */
}

或者如何序列化(转换)将数据发布到对象或数组

我使用Postman发送请求,标题为“Content-Type:application / json”。

你能告诉我如何保存文件(图像)吗?

3 个答案:

答案 0 :(得分:9)

您可以使用 POST 请求:

$request->request->get('data');

对于 GET 请求:

$request->query->get('data');

对于文件查询:

$request->files.

并提出问题How to save image?,您必须创建uploads -> excels

$dir = $this->get('kernel')->getRootDir() . '/../web/uploads/images/';
$name = uniqid() . '.jpeg';

foreach ($request->files as $uploadedFile) {
    $uploadedFile->move($dir, $name);
}
$file = $this->get('kernel')->getRootDir() . "/../web/uploads/images/" . $name;

if (file_exists($file)) {
    echo "Successfully saved";
}

答案 1 :(得分:1)

转储请求中的所有数据以查找可能的问题:$request->request->all();

答案 2 :(得分:0)

$request->request->get('content');

POST:$request->request->get('<propertyName>');

获取:$request->query->get('<propertyName>');