Php YII2:在actionCreate中上载文件
我的型号代码是:Php YII2:在actionCreate中上载文件,php,file-upload,yii2-advanced-app,Php,File Upload,Yii2 Advanced App,我的型号代码是: [['file'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4], 我在表格中添加了以下内容: <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?> 我遇到的问题是: 请求错误(#400) 缺少必需
[['file'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4],
我在表格中添加了以下内容:
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
我遇到的问题是:
请求错误(#400)
缺少必需的参数:id
没有上传任何内容,数据库中也没有行创建。您的函数定义是
公共函数actionCreate($id)
,对吗?没错。。。我忘了提到我已经创建了公共文件代码>在我的模型中抱歉,我没有注意到您编写了$id和创建操作。。我使用了公共函数actionCreate(){code here}
The,模型的id
字段丢失。如果未经验证就保存,会发生什么情况:$model->save(false)
?它可以工作。。但是图像名称是空的
{
$model = new items();
if ($model->load(Yii::$app->request->post())){
$model->file=UploadedFile::getInstance($model,'file');
$ImageName=$model->id;
$model->file->saveAs( $ImageName.'.'.$model->file->extension );
$model->store_id = \Yii::$app->user->identity->store_id ;
$model->save() ;
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}