如何使用Sonata Media Bundle上传图像

时间:2016-02-08 08:23:36

标签: symfony

我正在使用symfony进行项目。我想使用Sonata Media捆绑包,以便上传图片。 不幸的是,我不知道如何使用它或如何开始。

我有这种形式:

<form action="" method="POST" class="filePhotoForm form-inline" role="form">
                            <div class="form-group">
                                <input type="button" class="btn btn-start-order browse" value="Browse">
                                <input type="text" class="form-control file-name" readonly="readonly" placeholder="No file selected">
                                <input type="file" name="filePhoto" id="filePhoto" class="hidden file-upload">
                            </div><br/><br/>
                            <button type="submit" class="btn btn-primary">Submit</button>
                        </form>

控制器中的代码:

 public function changePictureAction(Request $request)
    {


        return $this->render('MedAppBundle:Profile:change_picture.html.twig');
    }

您可以帮助了解上传的基本知识吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我已为该

制作了自定义功能
protected function saveImageMediaBundle($file,$context = 'default')
{

    $mediaManager = $this->get('sonata.media.manager.media');
    $media = new Media();
    $media->setContext($context);
    $media->setProviderName('sonata.media.provider.image');
    $media->setBinaryContent($file);
    $mediaManager->save($media);

    return $media;
}

并通过此

获取文件
$file = $request->files->get('newsImage',null);
$media = $this->saveImageMediaBundle($file,'news');