我是Yii的新手。我正在使用此代码
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?> <?= $form->field($model, 'description')->textarea(['rows' => 6]) ?> <?= $form->field($model, 'image')->fileInput(['type' => 'file']) ?> <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
当我尝试在控制器中打印发布数据时,图像字段将变为空白;
如果我通过
$_FILES打印,则显示文件数据。
答案 0 :(得分:2)
第1步: 在模型文件中定义一个变量。
public $uploadedImage;
第2步: 在你的控制器中,
$model->uploadedImage = UploadedFile::getInstance($model, 'image');
$model->image = $model->uploadedImage->name;
在save()方法之后将其写入存储图像
$model->uploadedImage->saveAs('YOUR_WEBDIR_IMAGES_FOLDER/' . $model->uploadedImage->baseName . '.' . $model->uploadedImage->extension);
[如果上述解决方案无效,请尝试此操作。 :
定义另一个变量。
public $tempVarforImage;
在您的控制器中
$model->tempVarforImage = $model->uploadedImage->name;
$model->image = $model->tempVarforImage;
(因为一旦我遇到了来自数据库和基于yii2的&#39;图像&#39;变量)&#39;图像&#39;字段冲突的问题。]