2012-04-15 21 views
0

Ich speichere Bilder auf einem mySQL-Server als Mediumblobs. Wenn ich versuche, sie mit dem folgenden Code anzuzeigen, laden einige Browser (z. B. Safari und EI) das Bild herunter, anstatt sie anzuzeigen. Gibt es eine Möglichkeit, sie anzuzeigen, die browserunabhängig ist? statt Content-Type: image/jpgBilder werden heruntergeladen anstatt angezeigt zu werden

image/jpeg ist der korrekte MIME-Typ für JPEG-Bilder

$query = "SELECT image FROM images WHERE id=?"; 
$stmt = $dbc->prepare($query); 
$stmt->bind_param("i",$id); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($image); 
$stmt->fetch(); 
header("Content-Type: image/jpg"); 
echo $image; 

Vielen Dank im Voraus

+0

Haben Sie einen Lese: http://stackoverflow.com/questions/5932249/show-a-blob-image-php-mysql-along-with-other-data, http://stackoverflow.com/ Fragen/5525830/displaying-ein-Bild-gespeichert-in-einem-mysql-blob, http://StackOverflow.com/Questions/1760754/How-to-display-an-image-from-a-mysql-blob – bostaf

Antwort

4

Content-Type: image/jpeg Versuchen.

0

versuchen diese

$query = "SELECT image FROM images WHERE id=?"; 
$stmt = $dbc->prepare($query); 
$stmt->bind_param("i",$id); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($image); 
$stmt->fetch(); 
header("Content-Type: text/html"); 
echo $image; 

oder

$query = "SELECT image FROM images WHERE id=?"; 
$stmt = $dbc->prepare($query); 
$stmt->bind_param("i",$id); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($image); 
$stmt->fetch(); 
header("Content-Type: image/jpg"); 
echo "<p>".$image."</p>"; 

Beachten Sie auch, einige Browser ein Bild machen herunterladen, wenn es nicht von HTML-Inhalten ist. Hast du andere Browser ausprobiert?

2

Versuchen Sie, einen Content-Disposition Header mit dem Wert inline so zu senden.

$query = "SELECT image FROM images WHERE id=?"; 
$stmt = $dbc->prepare($query); 
$stmt->bind_param("i",$id); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($image); 
$stmt->fetch(); 
header("Content-Type: text/html"); 
header("Content-Disposition: inline"); 
echo $image; 
Verwandte Themen