获取错误“致命错误:在yii中的”CMultiFileUpload“中的控制器”in“中的非对象上调用成员函数saveAs()?

时间:2013-10-31 10:35:45

标签: php file-upload yii

我想在YII中使用“CMultiFileUpload”上传多个文件,当我尝试运行以下代码时出现错误“致命错误:在控制器中的非对象上调用成员函数saveAs()” 。

public function actionAddProductImages($id)
{       
    $model=new ProductImages;
    if(isset($_POST['ProductImages']))
    {   
                $files = CUploadedFile::getInstancesByName('image');
                foreach ($files as $file)
                {
                        //$rnd = rand(0,9999);
                        $model->attributes=$_POST['ProductImages'];
                        $fileName = $file->getName();
                        $model->image = $fileName;
                        $model->product_id = $id;
                        $model->sortorder = $_POST['ProductImages']['sortorder'];                       
                        if($model->save())
                        {                                                                           
                            $files->saveAs(Yii::getPathOfAlias('webroot').'/upload/productImage/'.$fileName); // image will uplode to rootDirectory/banner/                                                 
                             //thumbmail---------------start---
                            Yii::app()->thumb->setThumbsDirectory('/upload/productImage/original/');                
                            Yii::app()->thumb->load(Yii::getPathOfAlias('webroot').'/upload/productImage/'.$fileName)->resize(538,359)->save($fileName);

                            Yii::app()->thumb->setThumbsDirectory('/upload/productImage/thumb/');               
                            Yii::app()->thumb->load(Yii::getPathOfAlias('webroot').'/upload/productImage/'.$fileName)->resize('0','110')->save($fileName);  

                            Yii::app()->thumb->setThumbsDirectory('/upload/productImage/thumb_70/');
                            Yii::app()->thumb->load(Yii::getPathOfAlias('webroot').'/upload/productImage/'.$fileName)->resize('0',70)->save($fileName); 

                            Yii::app()->user->setFlash('productImage','productImage has been added successfully');
                            $this->redirect(array('view','id'=>$model->image_id));
                        }
                }

    }

    $this->render('create',array(
        'model'=>$model,
    ));
}

+

2 个答案:

答案 0 :(得分:2)

尝试:

$file->saveAs(Yii::getPathOfAlias('webroot').'/upload/productImage/'.$fileName);

答案 1 :(得分:0)

如果使用多个文件上传试试这个;

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> listView, View view,
                                        int position, long id) {
                    Intent intents = new Intent(FirstActivity.this, SecondActivity.class);
                    intents.putExtra("questionId", questionID);//select question id from array using arry postion
                    startActivity(intents);

                }

                );
            }