2017-11-11 19 views
0

私は携帯端末からAPIを介してプロフィール画像をアップロード/更新する必要があるプロジェクトに取り組んでいます。 画像をアップロードして郵便番号でテストするメソッドを作成しますが、UploadedFile::getInstanceByName('photo') nullを返します。間違っていますか?以下 は私のコードです: UserControllerでyii2 api経由で画像をアップロードしたい

public function actionUpload() 
{ 

    $userid = Yii::$app->request->get('id'); 
    $photo = $_FILES['photo']; 

    $model = Users::findOne($userid); 

    if($model === null){ 
     Authorization::badRequest($model,true); 
     return; 
    //} 
     // return $_FILES; 

    // return $model->upload(); 
    // $model->save(); 
    // if($model->upload()){ 

    // return array('token'=>$model->getJwt()); 
    }else { 
     $model->photo = UploadedFile::getInstanceByName('photo'); 
     return $model->photo; 
    } 
} 

Model 
public function upload() 
{ 
    if ($this->validate()) { 
     $this->photo->saveAs(self::IMG_PATH . $this->photo->baseName . '.' . $this->photo->extension); 
     return true; 

    }else { 
    return false; 
    } 

} 
+0

?それはポストですか? – sobbe

+0

投稿動詞@sobhanbagheri – Joseph

+0

'$ _FILES'の値をチェックしてファイルが存在し、' getInstanceByName() 'に入れた"写真 "の名前が正しいことを確認してください – sobbe

答えて

0

私は(アップロード機能)なしに写真をアップロードし、あなたがそのメソッドのために使用されているどのような動詞

$model->file = uploadedfile::getInstance($model,'file'); 
 
       
 
$model->file->saveAs('uploads/'.$model->file>basename.'.'.$model->file->extension); 
 
      

+0

返信ありがとうございます。問題は、私が郵便配達員でテストするときです。この行は次の行です。$ model-> file = uploadedfile :: getInstance($ model、 'file');戻り値null、 – Joseph

+0

あなたの_fromは 'enctype' => 'multipart/form-data'を使用しましたか? –

+0

郵便配達員の 'enctype'が 'multipart/form-data'に設定されています – Joseph

関連する問題