我正在尝试通过表单将图像上传到我的模型.我正在使用Yii 1.1
该模型在数据库中不包含“图像”列,因此我在模型中创建了这样的属性
public $image;
array('image', 'file', 'types'=>'jpg,gif,png', 'allowEmpty'=>true),
在视图中,我将htmlOption数组(‘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] =>
)
有什么帮助吗?
解决方法:
可能您忘记了设置编码类型:
<?PHP $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
另外您的字段不正确,应该是:
$form->field($model, 'image')->fileinput()
还请记住,Yii不会在$_POST中发送图像的值.通过$_POST,它发送使用inputFile时生成的隐藏字段.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。