从json中的mysql获取Blob图像并转换为位图

Posted

技术标签:

【中文标题】从json中的mysql获取Blob图像并转换为位图【英文标题】:Get Blob image from mysql in json and convert to bitmap 【发布时间】:2018-11-01 15:33:13 【问题描述】:

我在 json 数组中的 php 中得到响应,该数组包含两个值“名称”和“图像”(在 blob 中)。我想在我的 android 应用程序中将 blob 转换为位图。有人可以帮我解决这个问题吗?

如下所示,这是我的 php 代码。

$sql = "SELECT * FROM bim WHERE category = '$category'";
    $r = mysqli_query($conn,$sql);

    $result = array();

    while($res = mysqli_fetch_array($r))

        array_push($result,array(
        "signText"=>$res['signText'],
        "image"=>$res['image'] // i'm not sure if this right
    )
    );
    
    echo json_encode(array("result"=>$result));
    mysqli_close($conn);

【问题讨论】:

【参考方案1】:

假设数据库中的 blob 数据是图像数据的 base64 编码表示,在您的 java 应用程序中,您需要从响应中对图像数据进行 base64 解码。看看this stack post。

您的 php 代码看起来可以正常工作。尽管您会希望在生产中使用prepared statements 来帮助防止sql injection attacks。

【讨论】:

以上是关于从json中的mysql获取Blob图像并转换为位图的主要内容,如果未能解决你的问题,请参考以下文章

PHP显示来自MySQL的图像BLOB [重复]

将字节转换为位

UiImage swift 3中的Mysql blob图像显示

如何将图像转换为 Base64 字符串,并转换回图像,保存到 azure blob

将图像从 MySQL 获取到 PyQt5 中的 tableWidget

获取 Azure Blob(图像)并 POST 到外部 API