Php 数据库中的图像显示不正确
我的图像通过在base64中转换从移动设备发送,并以文本格式保存在我的数据库中。现在,我尝试以以下方式显示图像:Php 数据库中的图像显示不正确,php,Php,我的图像通过在base64中转换从移动设备发送,并以文本格式保存在我的数据库中。现在,我尝试以以下方式显示图像: <img src='data:image/gif;base64," . $before_pic . "' height='70' width='70' /> 图像正在显示,但不是整个图像,只是部分图像 我做错了什么,需要怎么做。图像大小约为500kb,可以正确显示较小尺寸的图像。有一个拼写错误。。。您将其改为“高度”您正在使用的文本字段有多大?它能容纳那个长度的
<img src='data:image/gif;base64," . $before_pic . "' height='70' width='70' />
图像正在显示,但不是整个图像,只是部分图像
我做错了什么,需要怎么做。图像大小约为500kb,可以正确显示较小尺寸的图像。有一个拼写错误。。。您将其改为“高度”您正在使用的文本字段有多大?它能容纳那个长度的base64编码字符串吗?您能提供数据库结构吗。对于编码图像,您使用哪种列类型?列的大小是多少?@Fay007并且您知道base64比常规字符串大,并且
TEXT
字段“only”可以容纳65535
字节(64 KB)?大多数人将文件存储在服务器上,而将路径存储在数据库中(这也是BLOB
和LONGBLOB
所做的,只是它从文件而不是路径返回数据-唯一的区别是在MySQL的后端)。@Fay007 AMEDIUMTEXT
可以是16777215
字节(16 MB),所以这应该没问题。你比我更了解你的数据。不过,我仍然认为应该使用MEDIUMBLOB
或存储路径(VARCHAR(1000)
)。为什么需要将其保存在数据库中,而不是使查询的往返时间更长?(如果查询SELECT id,picture FROM pictures
时使用picture
中的整个图片内容,而不是路径,则需要更长的时间)