我将图像作为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;
提前致谢
答案 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内容,某些浏览器会下载图像。你试过其他浏览器吗?