图像未在YII ActiveForm中上传

时间:2016-03-23 09:07:08

标签: php file yii2

我是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 
打印,则显示文件数据。
请告诉我如何使用post方法获取图像。

1 个答案:

答案 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;字段冲突的问题。]