web-dev-qa-db-ja.com

symfony2.8。リクエスト後のデータを取得する方法

コントローラで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)
      */
}

または、どのようにしてデータをオブジェクトまたは配列にシリアル化(変換)できますか?

ヘッダー「Content-Type:application/json」を付けてPostmanを使用してリクエストを送信します。

また、ファイル(画像)の保存方法を教えてもらえますか?

8
A6Brgeuka

[〜#〜] post [〜#〜]リクエストに使用できます:

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

[〜#〜] get [〜#〜]リクエストの場合:

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

[〜#〜] file [〜#〜]クエリの場合:

$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";
}
9

リクエストからすべてのデータをダンプして、次の問題の可能性を見つけます:$request->request->all();

1
Poul D.

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

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

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

0
craigh