php – Symfony 2文件上传设置默认文件
发布时间:2020-12-13 16:03:46 所属栏目:PHP教程 来源:网络整理
导读:我在Symfony2应用程序中有一个表单,我要求用户上传文件.此字段不是必需的.目前,我使用以下命令处理用户的文件: $file = $form['attachement']-getData(); 我的问题是,如果$file返回NULL,我该如何设置默认文件,即用户不想上传任何文件? 谢谢. 解决方法 首先
我在Symfony2应用程序中有一个表单,我要求用户上传文件.此字段不是必需的.目前,我使用以下命令处理用户的文件:
$file = $form['attachement']->getData(); 我的问题是,如果$file返回NULL,我该如何设置默认文件,即用户不想上传任何文件? 解决方法
首先,您必须从默认文件中创建有效对象.
为此,请使用 SymfonyComponentHttpFoundationFile. 用法:$file = new文件(‘path / of / your / default / file’); 然后,您必须在数据绑定完成之前更新表单. 1-如果字段为空,请使用FormEvent手动设置文件. (例如PRE_SUBMIT和POST_SUBMIT) 2-在实体中使用prePersist / preUpdate挂钩. (不涉及移动您的逻辑,未映射的属性’attachment’应该已经存在于您的实体中) 对于选项1,请参阅食谱的Dynamic form modification章节并查找适当的事件(文档将提供选择它的信息). 有关2,请参阅Docntine文档的Events章节. /** * @ORMHasLifecycleCallbacks */ class YourEntity { /** * * @ORMPrePersist * @ORMPreUpdate */ public function manageFile() { if ($this->attachment === null) { $file = new File('path/of/your/default/file'); $this->setAttachment($file); } } } 我希望这对你来说已经足够了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |