Symfony CMF - 上传图像和 PDF 文件
Symfony CMF - Uploading Images and PDF Files
我正在使用 Symfony CMF Media Bundle 来实现以下目标。我有几个节点可以有一个图像和一个可下载的 PDF。
我已经想通了 setImage 方法必须这样实现:
public function setPreviewImage($previewImage)
{
if ($previewImage === null) {
return $this;
}
if (!$previewImage instanceof ImageInterface && !$previewImage instanceof UploadedFile) {
$type = is_object($previewImage) ? get_class($previewImage) : gettype($previewImage);
throw new \InvalidArgumentException(sprintf(
'Image is not a valid type, "%s" given.',
$type
));
}
if ($this->previewImage) {
$this->previewImage->copyContentFromFile($previewImage);
} elseif ($previewImage instanceof ImageInterface) {
$previewImage->setName('previewImage');
$this->previewImage = $previewImage;
} else {
$this->previewImage = new Image();
$this->previewImage->copyContentFromFile($previewImage);
}
return $this;
}
然后在另一个论坛上有人建议让这个 属性 级联持久化。有了这个提示:https://github.com/symfony-cmf/BlockBundle/blob/master/Resources/config/doctrine-phpcr/ImagineBlock.phpcr.xml#L22。现在我想知道如何以及是否可以在我的配置中设置此选项。
我想知道的下一部分是 cmf_media_file 类型。这里有没有人设法将 PDF 存储到 PHPCR 节点 属性?
如有任何帮助,我将不胜感激。
我自己想出来的。
对于任何使用注释的人,您必须像这样设置它:
use Symfony\Cmf\Bundle\MediaBundle\Doctrine\Phpcr\Image;
use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCR;
/**
* @var Image
* @PHPCR\Child(cascade="persist")
*/
我正在使用 Symfony CMF Media Bundle 来实现以下目标。我有几个节点可以有一个图像和一个可下载的 PDF。 我已经想通了 setImage 方法必须这样实现:
public function setPreviewImage($previewImage)
{
if ($previewImage === null) {
return $this;
}
if (!$previewImage instanceof ImageInterface && !$previewImage instanceof UploadedFile) {
$type = is_object($previewImage) ? get_class($previewImage) : gettype($previewImage);
throw new \InvalidArgumentException(sprintf(
'Image is not a valid type, "%s" given.',
$type
));
}
if ($this->previewImage) {
$this->previewImage->copyContentFromFile($previewImage);
} elseif ($previewImage instanceof ImageInterface) {
$previewImage->setName('previewImage');
$this->previewImage = $previewImage;
} else {
$this->previewImage = new Image();
$this->previewImage->copyContentFromFile($previewImage);
}
return $this;
}
然后在另一个论坛上有人建议让这个 属性 级联持久化。有了这个提示:https://github.com/symfony-cmf/BlockBundle/blob/master/Resources/config/doctrine-phpcr/ImagineBlock.phpcr.xml#L22。现在我想知道如何以及是否可以在我的配置中设置此选项。
我想知道的下一部分是 cmf_media_file 类型。这里有没有人设法将 PDF 存储到 PHPCR 节点 属性?
如有任何帮助,我将不胜感激。
我自己想出来的。 对于任何使用注释的人,您必须像这样设置它:
use Symfony\Cmf\Bundle\MediaBundle\Doctrine\Phpcr\Image;
use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCR;
/**
* @var Image
* @PHPCR\Child(cascade="persist")
*/