【发布时间】:2016-11-10 01:51:27
【问题描述】:
我正在尝试通过表单将图像上传到我的模型。我正在使用 Yii 1.1
模型在数据库中不包含“图像”列,所以我在模型中创建了这样的属性
public $image;
我在规则中添加了以下内容
array('image', 'file', 'types'=>'jpg,gif,png', 'allowEmpty'=>true),
在视图中,我在表单中添加了 htmlOption array('enctype' => 'multipart/form-data'),同时用于文件上传:
<th><?php echo $form->labelEx($model, 'image'); ?></th>
<td><?php echo $form->fileField($model, 'image');?></td>
<th><?php echo $form->error($model, 'image');'>'?></th>
我看到了上传图片的按钮,当我按下按钮时,我的控制器的动作被调用,但是如果我为显示 $_POST 和/或 $_FILES 做一个日志,我得到了这个:
来自 $_FILES 的日志
2016/07/07 18:18:12 [info] [application] FILE :
Array
(
)
我从 $_POST 收到的日志
[Puntointeres] => Array
(
[Name] => My Name
[Description] => What ever
......
[image] =>
)
有什么帮助吗?
【问题讨论】:
-
您是否查看了生成的 html 以确保实际设置了
enctype属性?鉴于您的image输入显示在 $_POST 中,要么您没有正确构建表单,要么有什么东西破坏了它。 -
输入字段应该是$form->field($model, 'image')->fileInput()
-
嗨,我使用的是 Yii 1.1,所以我没有 $form->field($model, 'image')->fileInput();