我想在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,
));
}
+
答案 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);
}
);
}