Php Symfony 2 Sonata媒体包:在没有Sonata管理员的情况下保存媒体文件映像
我使用了Sonata管理包和Sonata媒体包。很好,但是我在使用媒体方面有问题。 例如,我有一个Post文档,在Post中我有$image变量,targetDocument是Media。当我创建新帖子时,我必须上传图像文件,在保存帖子之前,我必须先将上传图像文件保存到媒体实体,然后我将$image of Post指向刚刚保存的媒体实体 邮寄文件:Php Symfony 2 Sonata媒体包:在没有Sonata管理员的情况下保存媒体文件映像,php,symfony,sonata-media-bundle,Php,Symfony,Sonata Media Bundle,我使用了Sonata管理包和Sonata媒体包。很好,但是我在使用媒体方面有问题。 例如,我有一个Post文档,在Post中我有$image变量,targetDocument是Media。当我创建新帖子时,我必须上传图像文件,在保存帖子之前,我必须先将上传图像文件保存到媒体实体,然后我将$image of Post指向刚刚保存的媒体实体 邮寄文件: <?php namespace Acme\Bundle\PostBundle\Document; use Doctrine\ODM\Mon
<?php
namespace Acme\Bundle\PostBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @MongoDB\Document(repositoryClass="Acme\Bundle\PostBundle\Repository\PostRepository")
*/
class Post
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\String
*/
protected $name;
/**
* @MongoDB\ReferenceOne(targetDocument="Application\Sonata\MediaBundle\Document\Media", nullable=true )
*/
protected $image;
答案如下:
在上面的代码中,我们必须先将上传图像保存到媒体,然后将其指向帖子:
$mediaManager = $this->container->get('sonata.media.manager.media');
$media = new Media();
$media->setBinaryContent($uploadImage);
$media->setContext('default');
$media->setProviderName('sonata.media.provider.image');
$mediaManager->save($media);
$post->setImage($media);
print_r($media);exit;
答案如下:
在上面的代码中,我们必须先将上传图像保存到媒体,然后将其指向帖子:
$mediaManager = $this->container->get('sonata.media.manager.media');
$media = new Media();
$media->setBinaryContent($uploadImage);
$media->setContext('default');
$media->setProviderName('sonata.media.provider.image');
$mediaManager->save($media);
$post->setImage($media);
print_r($media);exit;
我有
未定义的变量:mediaManager
,即使我使用use Sonata\MediaBundle\Entity\mediaManager代码>。如何访问$mediaManager?mediaManager=$this->container->get('sonata.media.manager.media')
你能告诉我uploadImage的情况吗?我愿意创建一个api,将图像存储到媒体包我有未定义的变量:mediaManager
即使我使用use Sonata\MediaBundle\Entity\mediaManager代码>。如何访问$mediaManager?mediaManager=$this->container->get('sonata.media.manager.media')代码>你能告诉我上传图片的情况吗?我愿意创建一个api,将图片存储到媒体包中