我的编辑表单的文件小部件有问题。
在the Symfony documentation中,在第一段末尾,它说:
创建表单以编辑已保留的项目时,文件表单 type仍然需要一个File实例。现在作为坚持的实体 只包含相对文件路径,首先必须连接 配置的上传路径包含存储的文件名并创建一个新的File类:
use Symfony\Component\HttpFoundation\File\File; // ... $product->setBrochure( new File($this->getParameter('brochures_directory').'/'.$product->getBrochure()) );
但是,即使我在我的表单上应用此功能,我的文件小部件仍会显示"没有选择文件" (如果我的翻译没问题)。 此外,由于总表单必须附加文件,因此用户必须再次附加文件。
如何设法显示文件已上传,并且只提供用另一个文件更新文件的机会?
答案 0 :(得分:0)
您可以在表单中添加一个非映射字段,显示文件名甚至文件缩略图(您需要为其创建一个getter。) E.g
$builder->add('file_preview', 'text', array('label' => 'Existing File', 'required' => false, 'mapped' => false));
或者,如果您使用单个字段在树枝中显示表单,只需添加名称/预览 喜欢的东西;
<div class="my-form">
<div class="{{ obj.file.name }}"</div>
<div>{{ form_widget(form.file) }}</div>
</div>