2016-11-16 3 views
0

間違っているとして表示:小枝で次に画像は時々私はsymfonyで作成されたいくつかの画像は、それらが生成されている

$sql = "select id,nombre,descripcion,encode(imagen, 'base64') as imagen from data.servicios_mapa order by destacado DESC, fecha_creacion DESC LIMIT 4" ; 
$stmt = $conn->prepare($sql); 
$stmt->execute(); 
$mapas = $stmt->fetchAll(); 
$datos_mapa = array(); 
foreach($mapas as $m){ 
    if($m['imagen'] != '' || $m['imagen'] != null){ 
     $m['imagen'] = "data:image;base64,".$m['imagen']; 
    }else{ 
     $m['imagen'] = "/imgs/no-image.jpg"; 
    } 
    $datos_mapa[] = $m; 
} 

return $this->render('FrontendBundle:Default:index.html.twig', array("estructura"=>json_encode(array()),"datosmapas"=>$datos_mapa)); 

:私のコントローラでは、このコードでは

src="data:image;base64,/9j/4AAQSkZJRg... etc" 
data-holder-rendered="true" 

<img src="{{ mapa.imagen }}" class="img-responsive fix-height"> 

しかし、一つを左のようにそれらのいくつかは、誤って、diplayedされています

http://fotos.subefotos.com/5909f04a9cfa9be2c4b286d1b87727eco.png

リアソンとは何でしょうか?それらはすべて同じコードで生成されます。とき$m['imagen'] == nullまたは$m['imagen'] == ''

+0

これが原因のSymfonyや小枝で、おそらくではなく、あなたのイメージはすでに不正な形式です。 – martin

+0

どのようにわからないのですか?画像は "bytea"タイプとしてDBに保存されますが、一部の画像がチャンクされていて、他の画像がチャンク化されていない理由はありません。 – pmirnd

答えて

1

あなたのループ内で、条件if($m['imagen'] != '' || $m['imagen'] != null)ため、他はヌルが!=「」「真与え、」!= nullが真

を与えるので、あなたが持っているだろうに達することはありません<img src="data:image;base64," class="img-responsive fix-height">

あなたはそれがに変更する必要があります。if($m['imagen'] != '' && $m['imagen'] != null)

+0

これは何も変わらない、画像は同じです(someonesは誰にも生成されません) – pmirnd

+0

それはDBに格納された画像から来ます。静的なHTMLページで画像をレンダリングしようとしましたか? – progg

+0

私のチームの誰かが問題を修正しました。それは、画像がDBに挿入され、エンコーディングされる前に切り抜かれ、その作物がファイルを乱していた方法でした。 – pmirnd

関連する問題