如何使用symfony2和twig显示保存在BD中的BloB图片。
帮助PLZ。
我的实体形象:
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
*
*
* @ORM\Column(name="img", type="blob", nullable=false)
*/
private $img;
/**
* @var string
*
* @ORM\Column(name="titre", type="string", nullable=false)
*/
private $titre;
/**
*
* @Assert\File(maxSize="6000000")
*
*/
private $file;
我想在没有创建目录的情况下显示图片来载入文件
答案 0 :(得分:1)
您应该定义用于检索图像的新路线和控制器。像这样:
# routing.yml
my_image_route:
pattern: /images/{id}
defaults: {_controller: AcmeDemoBundle:Default:some}
和控制器:
<?php
namespace Acme\DemoBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class DefaultController extends Controller
{
public function someAction($id)
{
$em = $this->get('doctrine')->getManager();
$image_obj = $em->getRepository('AcmeDemoBundle:Image')->find($id);
return new Response(
$image_obj->getImg(),
Response::HTTP_OK,
array('content-type' => 'image/jpeg');
}
}
并在模板中简单地生成此路线
{{ path('my_image_route', {'id': image.id}) }}