2

我使用 Symfony 3.3 并像手册中那样配置文件上传。

https://symfony.com/doc/current/controller/upload_file.html

在表单中编辑我的实体时,在提交表单后,图像属性(例如“手册”)为“null”,即使在提交之前设置它也是如此。

$entity->setBrochure(new File($this->getParameter('brochures_directory').'/'.$entity->getBrochure()));

所以不可能决定用户是真的想删除图像还是想保留它。

我是否忘记了什么或者如何正确处理图像?

谢谢您的回答!

最好的!

4

1 回答 1

1

这是由于 HTML 规范:不能预先填写文件输入。

一种解决方案是使用不同的名称(不同于默认名称)放置另一个输入提交。只会发送用户“点击”的按钮/输入。

在请求中检测;如果存在,请删除您的文件数据。

并且,在您的视图中,在输入文件附近显示原始名称(和/或大小、类型...任何您想要的)。

于 2017-08-25T18:30:55.297 回答