2017-04-14 12 views
0

イメージを渡すときにはメソッドYII2残りのAPIの問題が発生しています。 POSTでは、正常に動作するよう要求します。以下はイメージを持つYii2 REST API PUTメソッド

私は下の画像にしようとすると自分のコード

/** 
    * Funcion to update existing product by productID 
    * 
    * @return type 
    */ 
    public function actionUpdate($id) { 
     $request = Yii::$app->request; 
     $post = $request->post(); 
     $params = Yii::$app->request->bodyParams; 
     print_r($params); 
     die; 
     $model = Product::findOne($id); 
     $images = $model->uploadProductImages($_FILES); 
     $post['images'] = implode(",", $images); 
     $model->updateProduct($id, $post); 
     return $post; 
    } 

である私が得る出力されます。

Array 
(
    [-----------------------------16309270534592 
Content-Disposition:_form-data;_name] => "name" 

TESTP11APR 
-----------------------------16309270534592 
Content-Disposition: form-data; name="sku" 

SKUTESTP11APR 
-----------------------------16309270534592 
Content-Disposition: form-data; name="images"; filename="Koala.jpg" 
Content-Type: image/jpeg 

???? 
) 

イメージフィールドを削除してから適切なデータを取得します。 問題は何でしょうか。

答えて

0

PHPは、一部のクライアントがサーバーにファイルを格納するために使用するHTTP PUTメソッドをサポートしています。

PUT /path/filename.html HTTP/1.1 

次のコードは、PUT経由でファイルをアップロードするためphp documentionである:

<?php 
/* PUT data comes in on the stdin stream */ 
$putdata = fopen("php://input", "r"); 

/* Open a file for writing */ 
$fp = fopen("myputfile.ext", "w"); 

/* Read the data 1 KB at a time 
    and write to the file */ 
while ($data = fread($putdata, 1024)) 
    fwrite($fp, $data); 

/* Close the streams */ 
fclose($fp); 
fclose($putdata); 
?> 
関連する問題