我正在使用此代码,但图片未显示已满。此代码显示图像的四分之一而非完整图像。
<?php
echo '<img src="data:'.$image_mime_type.';base64,'.base64_encode($rs["Pic"]).'" alt="My image alt" />';
?>
截图:
答案 0 :(得分:0)
试试这个,
$path = $rs["Pic"];
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
//echo $base64;
echo '<img src="'.$base64.'" alt="My image alt" />';
答案 1 :(得分:0)
如果你只使用BLOB(猜它是blob)
然后仅存储您提供的图像数据是不够的。
您必须使用MEDIUMBLOB或LONGBLOB
max size of
BLOB: ~ 63KB
MEDIUMBLOB: ~ 16MB
LONGBLOB: ~ 4GB
有关BLOB长度和其他MySql字段的详细信息,请参阅此处:http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html
答案 2 :(得分:0)
四种BLOB
类型为TINYBLOB
,BLOB
,MEDIUMBLOB
和LONGBLOB
。尝试将其更改为MEDIUMBLOB
或LONGBLOB
。我有类似的问题,我没有得到完整的图像(但是,获得图像的一部分)。这是您的图像未完全存储在db中的最可能原因之一。更改表结构后,您需要上传新的/相同的图像,并查看问题是否已解决。