2016-04-07 19 views
0

REST APIに複数のファイルをアップロードしようとしました。cakephp V2.3にあります。私はpostmanアドオンによってクロムのAPIを実行しています。 問題は、ファイルの配列の形式です。私が得ているフォーマットは以下の通りです。上記の配列からデータを取得するのは難しいです。どのようにキーを標準形式で価値を得るために設定するか教えてください。cakephp rest api複数ファイルのアップロード

Array 
(
    [Reports] => Array 
     (
      [name] => Array 
       (
        [0] => Chrysanthemum.jpg 
        [1] => Jellyfish.jpg 
       ) 

      [type] => Array 
       (
        [0] => image/jpeg 
        [1] => image/jpeg 
       ) 

      [tmp_name] => Array 
       (
        [0] => /tmp/phpDZoRzW 
        [1] => /tmp/phpVyb98b 
       ) 

      [error] => Array 
       (
        [0] => 0 
        [1] => 0 
       ) 

      [size] => Array 
       (
        [0] => 879394 
        [1] => 775702 
       ) 

     ) 

) 

enter image description here

+0

このデータを取得しますか?あなたの質問と質問の詳細は違いを見ている。 –

+0

いいえ、データを挿入しようとしています。データを取得するときは、この形式になっています –

答えて

1

私はあなたの質問の権利を持って完全にわからないが、私は一つの問題は、データ形式であると思います。私はあなたがsavemanyメソッドを使用していると仮定します。データは次の形式で入力してください:

$data = array(
    array('name' => 'Chrysanthemum.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/tmp/phpDZoRzW', 'error' => 0, 'size' => 879394), 
    array('name' => 'Jellyfish.jpg', 'type' => 'image/jpeg', 'tmp_name' => '/tmp/phpVyb98b', 'error' => 0, 'size' => 775702) 
); 

基本的に、レコードではなくフィールドでデータフィールドを指定しています。私はケーキがこれを正しく処理できるとは思わない。

希望のフォーマットでデータを取得するには、データをループするか、cakephpが提供する便利なメソッドHashを使用します。必要なキー/値にextractを使用します。あなたは、このようなファイルの入力フィールドに名前を提出し、フォームを変更することができるならば

は、適切なフォーマット

でデータを受信します。結果は目的の形式にする必要があります。

<input type="file" name="Report.0"> 
<input type="file" name="Report.1"> 

これは、形式になります:

[Reports] => Array 
     (
      [0] => Array 
       (
        [name] => 'Chrysanthemum.jpg' 
        [type] => 'image/jpeg' 
       ) 
      [1] => Array 
       (
        [name] => 'Jellyfish.jpg' 
        [type] => 'image/jpeg' 
       ) 
     ) 

あなたがMODELNAMEを使用すべきである{N} .FIELDNAMEしかし、CakePHPではフォームフィールドの命名として。したがって、レポートがモデルの場合は、ファイルフィールドのフィールド名を持つことが理にかなっています。

+0

はい、あなたが説明した形式のデータが必要です。私は 'Report [0]'、 'Report [1]'などのキーでファイルを送信しようとしています。私のキーで変更する必要がある説明された形式を取得するには –

+0

こんにちはKapil、私はこの側面もカバーする私の答えを拡張しました。 savemany-tasksのフォームフィールドに名前を付ける方法については、ドキュメントで詳しく説明しています。http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html – Gegenwind

+0

ありがとうございました。 –

関連する問題