【发布时间】:2015-07-01 11:33:43
【问题描述】:
我的数据库中有以 BLOB 格式存储的图像。我的 PHP 代码可以访问此 BLOB 数据并将其以 JSON 格式返回到客户端 HTML 页面。
如何在我的 HTML 页面上显示这些数据?
我尝试过使用 base64_encode,但它仅适用于 Firefox。 此代码不适用于 Chrome、IE、OPERA。
这是我的 PHP 代码:
$json2[] = array("Picture"=>base64_encode($row2[33]));
header("Content-Type: application/json; charset=UTF-8");
header("Content-type:image/jpeg");
echo json_encode($json2);
这是我的 JQuery 代码:
success: function(data){
var str = JSON.stringify(data);
var obj = JSON.parse(str);
$('#pic0').html('<img height="40" width="40" src="data:image/jpeg;base64,' + obj[0].Picture + '" />');
}
成功函数是 AJAX 调用的一部分。 我的主要目标是在移动设备中显示此图像,因为这是 WebService 调用的一部分。 根据我的阅读,似乎 base64_encode 在适用于每个浏览器方面都有一些限制。
如何在 HTML 页面上显示图像?
我查看了 SO 中的其他帖子,但找不到任何有成效的内容。
【问题讨论】:
-
$('where you want to display').html('<img src="data:image/png;base64,' + data + '" />');什么不起作用:? -
你的base64图片字符串是什么?
-
在您的代码行中,我用图片数据变量更改了第二个“数据”。对吗?
-
只显示你尝试过的完整代码
-
$('#pic1').html('');是我的html代码。 $json = array("图片"=>base64_encode($row2[33]));回声 json;是我的php代码
标签: php jquery image google-chrome base64