我将图像存储在MySQL数据库,longblob类型列中,但是当我尝试在Chorme上的浏览器上显示它们时,我只看到一个小白框,在Firefox上我看到并且错误消息说图像文件有一个问题。
这是我用来显示图像的内容。
$row["type"]
注意:echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['file'] ).'"/>';
是文件的MIME类型。
我认为图像没有损坏,因为我可以用它来显示它。
function uploader_upload($file, $ref) {
$uploader = $_LOGIN["userid"];
$name = $file["name"];
$type = $file["type"];
$tmp_name = $file["tmp_name"];
$note = $file["note"];
$insert_file = mysql_escape_string(file_get_contents($tmp_name));
$query = "INSERT INTO uploads (file, name, type, uploader, ref, note) VALUES ('$insert_file', '$name', '$type', '$uploader', '$ref', '$note')";
$statement = $pdo->prepare($query);
$statement->execute();
$refs[] = $ref;
return $refs;
}
但是我需要另一种方式,好奇的是,几天前它使用相同的代码工作得很好。也许是MySQL的错误?
修改 上传的代码。
{{1}}
答案 0 :(得分:0)
好的,我发现问题,似乎echo
与php的包含一起滑落,它破坏了图像。
如果有人遇到同样的问题,请确保没有显示echo
或print
或任何错误。