如何在jquerymobile模板上显示存储在MySql数据库中的blob类型图像


how to display blob type images stored in MySql database on a jquerymobile template

我有一个场景,图像应该显示在我的Jquerymobile模板中。这些图片来自MySQL数据库。图像类型是blob类型,我使用PHP来检索我的数据,如下

    <?php
include 'configure.php';
$qr = "SELECT * FROM food_beverage";
$res= mysql_query($qr);
$i=0;
while($row = mysql_fetch_array($res))
{
$restau_arr[$i]["fb_sno"] = $row["fb_sno"];
$restau_arr[$i]["fb_name"] = $row["fb_name"];
$restau_arr[$i]["fb_type"] = $row["fb_type"];
$restau_arr[$i]["fb_location"] = $row["fb_location"];
$restau_arr[$i]["fb_img"]= $row["fb_img"];
$restau_arr[$i]["fb_phno"]= $row["fb_phno"];
$restau_arr[$i]["fb_email"]= $row["fb_email"];
$i++;
}
 header('Content-type: application/json'); 
  echo json_encode($restau_arr);
?>

数据库中的值存储在一个数组中,并被转换为JSON格式,以便我可以使用以下jquery行调用它们-

var url = "retrieve_all.php";   
     $.getJSON(url, function(json) {
                 .......
                  .......
                   ....... }

一旦在这个函数中接收到值,我就使用-将它们附加到相应的HTML字段中

 $.each(json, function(i,v) {                                     
                    var restauName = v.fb_name;
                    var restauLoc = v.fb_location;
                    var restauNum = v.fb_phno;
                                    var restauImg = v.fb_img;
                    $("#restauName").html(restauName);
                    $("#restauLoc").html(restauLoc);
                    $("#restauNum").html(restauNum);
                    $("#restauImg").html(restauImg);
                    });

我能够理解图像不应该被当作JSON格式。但是如何处理呢?我应该在PHP中做什么才能在页面/屏幕上显示我的blob图像?

这种方法正确吗?

为此,一开始我在这里寻求帮助,但我的情况似乎有所不同。

这更多的是给你一个解决方案的注释,而不是"点击此处查看结果";但是试试这个:

  • 除了图像,你还有一个有效的解决方案吗
  • 图像大吗?
    • 如果它们是图标,我会将图像数据嵌入到同一个JSON响应中(见末尾)
    • 如果它们是照片,我会返回一个URL,并有第二个HTTP请求来下载它们。您可以附加<img>元素通过AJAX响应处理程序发送到文档
    • 图像服务脚本将获取ID,对其进行验证,然后返回DB字段值
    • 您需要确保二进制数据上没有字符集转换,否则图像将被损坏

将所有内容嵌入单个响应

  • rfc2397
  • 使图像JSON项看起来像:
    • data:image/jpeg;base64,base_64_encoded_jpeg_goes_here
    • 显然,您可以更改mime编码以满足您的需要
  • 添加一些JS来获取此字符串,并附加<img>元素,将该数据作为src属性

我有一个JSON到img元素的粗略演示(带有外部文件)。