我用的是Yii2框架,上传一张图片的时候文件上传功能很好用,但是当我点击发布的文章,我只想再更新一次帖子(假设我不想更新图片,我只想更新其他内容),但是当我点击查看的时候,我发现我上传的文件被一个空值(varchar类型)代替了,我上传的图片无法显示出来。
我确实尝试过自己修复,如下所示,但当我点击提交按钮时,现有文件值无法保存。
<?php
if (($post->file) != "") {
echo $form->field($post, 'file')->textInput()->hint('My currently uploaded file')->label('My Photo') ;
}
else{
echo $form->field($post, 'file')->fileInput()->hint('To upload a new file')->label('My Photo') ;
}
?>
当我点击提交按钮,我现有的文件不见了。有什么好的方法来修复它。提前感谢您的意见。
2条答案
按热度按时间6mzjoqzu1#
在模型中使用另一个变量来上载文件。
例如,使用
file_field
名称从提交的文件中获取文件并存储在file
字段中。第一个
要上传新文件,请检查
file_field
:raogr8fs2#
将规则添加到模型规则:
并检查控制器中是否存在空上载:
有关文件上传的详细信息,请参阅Yii2 docs和Yii2 guide。