图像下载而不是显示

时间:2012-04-15 01:12:59

标签: php mysql image

我将图像作为mediumblobs存储在mySQL服务器上。当我尝试使用以下代码显示它们时,某些浏览器(例如safari和EI)会下载图像而不是显示它们。有没有办法显示与浏览器无关的文件?

$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;

提前致谢

3 个答案:

答案 0 :(得分:4)

尝试使用Content-Type: image/jpeg代替Content-Type: image/jpg

image/jpeg是jpeg图像的正确MIME类型。

答案 1 :(得分:2)

尝试发送值为Content-Disposition的{​​{1}}标头。

inline

答案 2 :(得分:0)

试试这个

$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;

$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>";

另请注意,如果没有HTML内容,某些浏览器会下载图像。你试过其他浏览器吗?