2013-08-23 7 views
19

マイコンは投稿データを受信します。 Symfonyが生成したものではなく、FormDataを使ったAngularJSのカスタム形式です。フォームなしでファイルをアップロードする方法

通常のパラメータはリクエストパラメータバッグで正常に受信されますが、アップロードされたファイルを取得するにはどうすればよいですか?私は手動でフォームのhandleRequestと同じことをする必要がありますか?

私の文書はcookbook articleと同じです。

だから私は、文書実体でこのメソッドを呼び出すためのポスト要求からUploadFileを取得する必要があります:

public function setFile(UploadedFile $file = null)

私は、フォームビルダを使用せずに(symfonyの2に手動でアップロードを受けるにはどうすればよいですいずれにせよ)?

答えて

37

Requestだから私は簡単に指定されたファイルを取得できParameterBag

に似FileBagを、持っている:

$data = $this->getRequest()->request->all(); 
$file = $this->getRequest()->files->get('file'); 

をし、料理からであるとして文書を使用します。

$document = new Document(); 
$document->setFile($file); 
$lead->setDocument($document); 
+0

ファイルバッグの内容はどのように設定できますか?私は 'https:// github.com/kriswallsmith/Buzz/blob/master/lib/Buzz/Browser.php'を使用しています。ファイルバッグセットでPOSTリクエストを送信しなければなりません。私は自分のコードにfileObjを持っています。私は 'is_file()'メソッドでそれを検証しました。 –

+0

あなたも私の質問に答えることができますか?私はここで同じ問題に直面している私の質問です。 https://stackoverflow.com/q/44352796/1395965 – numerah

+1

'$ this-> getRequest()'は2.4で廃止され、3.0では削除されているようです。 '$ request-> files-> get( 'filename')'私のために働いた – Dheeraj

関連する問題