Symfony 获取上传的文件';原名
给我Symfony 获取上传的文件';原名,symfony,Symfony,给我 $request = $event->getRequest(); print_r($request->files);die; 我试图在不使用循环的情况下获取'originalname'的值,即“jummery.jpg”,但似乎找不到正确的语法 使用1UP文件上传器,但我认为这并不重要,上传文件时会得到UploadFile()对象(基本上是数组的包装器) 现在无法尝试此操作,但您可能需要改为: $this->getRequest()->files[0]->ge
$request = $event->getRequest();
print_r($request->files);die;
我试图在不使用循环的情况下获取'originalname'的值,即“jummery.jpg”,但似乎找不到正确的语法
使用1UP文件上传器,但我认为这并不重要,上传文件时会得到
UploadFile
()对象(基本上是数组的包装器)
现在无法尝试此操作,但您可能需要改为:
$this->getRequest()->files[0]->getClientOriginalName();
在这里,您可以用表单字段的名称替换post中的
文件名\u字段名。这对我来说很有用,我想OneUp类的处理方式有点不同
$this->getRequest()->files['name_of_file_field_in_post']->getClientOriginalName();
相关前端
use Oneup\UploaderBundle\Event\PostPersistEvent;
class UploadListener
{
public function onUpload(PostPersistEvent $event)
{
$request = $event->getRequest();
$original_filename = $request->files->get('blueimp')->getClientOriginalName();
}
}
2015年更新:
<input id="fileupload" type="file" name="blueimp" data-url="{{ oneup_uploader_endpoint('images') }}" multiple />
你的文件名
对我来说只是文件
这可能也会有所帮助:
我使用的是symfony 4
我想得到文件的原始名称。对我起作用的是:
$request->files->get('your-file-name')->getClientOriginalName();
在我的例子中,getImage()是文件上载字段名称的getter。因此,这将更改为文件上载字段的相关getter函数。感谢tjhe的响应,我收到了以下错误FatalErrorException:错误:无法在/pathtofile/MediaBundle/EventListener/UploadListener.php第41行中使用Symfony\Component\HttpFoundation\FileBag类型的对象作为数组输入的名称是“files[]”也许这对某些人有帮助:文件不是数组,而是参数包(在本例中是文件包)。必须对其进行迭代,如foreach($request->files as$file)
然后您可以当场执行getClientOriginalName()
。谢谢你,伙计。(y)
$request->files->get('your-file-name')->getClientOriginalName();
$form = $this->createForm(SomeType::class, $object);
if($form->isSubmitted() && $form->isValid()) {
$fileName = $object->getImage()->getClientOriginalName();
}