Symfony2.8. 如何从POST请求中获取数据

8

我该如何在控制器中接收来自POST请求的数据?我不使用Twig。

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)
      */
}

我应该如何将Post数据序列化(转换)为对象或数组?

我使用Postman发送请求,头部信息为"Content-Type: application/json"。

您可以展示一下如何保存文件(图片)吗?

3个回答

9

您可以使用 POST 请求:

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

对于GET请求:

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

对于FILE查询:

$request->files.

如果您想要保存图片,您需要创建一个名为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
结果显示为“null”。 - A6Brgeuka
能否回答我的问题,Imanali?我也遇到了类似的问题,这是我的问题链接:https://dev59.com/OKLia4cB1Zd3GeqPg02W - numerah

1

将请求中的所有数据转储出来,以便查找可能存在的问题:$request->request->all();


0

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接