PHP:如何从blob显示图像

Mon*_*onk 0 php mysql blob

我这里有点问题.我尝试将图像转换为字符串base64,之后我想将字符串保存到MySQL中的blob中.因此,blob可以显示在移动应用程序上.

这是我的代码:

$data = file_get_contents($_FILES["picture"]["tmp_name"]);
$image = base64_encode($data);
Run Code Online (Sandbox Code Playgroud)

我已经成功将blob保存到MySQL中,但我无法在网站上显示图像.

<td> <img src="<?php echo base64_decode($user->getPicture()); ?>"></td>
Run Code Online (Sandbox Code Playgroud)

因为结果是: ??????? and many more

我错了吗 ?请纠正我:)

Mar*_*c B 5

src图像的属性必须指向一个URL.您无法在其中转储图像的原始二进制内容并期望它可以工作.浏览器将获取原始二进制数据并尝试命中页面的原始服务器并请求该数据,就像它是文件URL一样.即你在一个加载的页面上有这个http://example.com/foo/bar/baz.php:

<img src="blahblahblahblah" />
Run Code Online (Sandbox Code Playgroud)

这将导致浏览器请求

http://example.com/foo/bar/blahblahblahblah
Run Code Online (Sandbox Code Playgroud)

如果要在页面中嵌入图像,则必须使用数据URI:

<img src="data:image/jpeg;base64,<?php echo $base64_encoded_image ?>" />
Run Code Online (Sandbox Code Playgroud)