当前位置: 首页 > 知识库问答 >
问题:

从mysql数据库检索图像到android

贺经纶
2023-03-14

互联网日安!

我正在尝试从mysql数据库检索并显示一个图像到一个图像视图(android)中。图像是blob类型。我有以下php代码从MySQL获取图像。

<?php

    error_reporting(E_ALL ^ E_DEPRECATED);
    require 'connect_aircraftoperator.php';

    $image = $db->query("SELECT * FROM company");

    while ($row = $image->fetch_assoc()) {
        echo '<img src="data:image/png;base64,' .     base64_encode($row['companyImage']) . '" />';

    }
?>

下面是使用JSON的android代码。

    try {
        //setting up the default http client
        HttpClient httpClient = new DefaultHttpClient();

        //specify the url and the name of the php file that we are going to use
        //as a parameter to the HttpPost method
        HttpPost httpPost = new HttpPost("http://10.0.2.2//aircraftoperatorapp/leimage.php");

        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        //getting the response
        HttpResponse response = httpClient.execute(httpPost);

        //setting up the entity
        HttpEntity httpEntity = response.getEntity();

        //setting up the content inside an input stream reader
        //lets define the input stream reader
        is = httpEntity.getContent();

    }
    catch (Exception e) {
        System.out.println("Exception 1 Caught ");
    }

    try {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);


        //create a string builder object to hold data
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line+"\n");
        }

        //use the toString() method to get the data in the result
        fullNameResult = sb.toString();
        is.close();

        //checks the data by printing the result in the logcat
        System.out.println("---Here's my data---");
        System.out.println(fullNameResult);

    }
    catch (Exception e){
        System.out.println("Exception 2 Caught ");
    }

    //result now contains the data in the form of json
    //let's inflate it in the form of the list
    try {


        //creates json array
        JSONArray jArray = new JSONArray(fullNameResult);

        for (int i = 0; i < jArray.length(); i++) 
        {
            //create a json object to extract the data
            JSONObject json_data = jArray.getJSONObject(i);
            imageTemp = json_data.getString("companyImage"); //gets the value from the php
        }
//this line should display the image from the mysql database into an image view

    }
        catch (Exception e){
            //System.out.println("Exception 3 Caught ");
            Log.e("lag_tag", "Error Parsing Data " + e.toString());
        }

提前感谢您的帮助!

共有1个答案

欧阳炜
2023-03-14

首先使用Base64将字符串解码为字节数组:

byte[] data = Base64.decode(imageTemp);
Bitmap b = BitmapFactory.decodeByteArray(data,0,data.length,null);
 类似资料:
  • 我想以二进制格式存储图像,并以二进制格式检索它,以图像格式显示它。我能够以二进制格式存储该文件,但在检索它时,我得到了错误java空指针异常。请指出错误。代码如下:

  • 问题内容: 您好,我在较早之前发布了此内容,并获得了一些帮助,但仍然没有有效的解决方案。由于最后的问与答,我确定我的“保存到数据库”代码以及“检索到图片”代码有问题。即使我手动将图片保存在数据库中,它也不会恢复。这是我从网络上的3或4个示例中修补而成的代码。理想情况下,如果有人拥有一些已知的良好代码,并且可以指导我这样做,那将是最好的。 ![在此处输入图片描述] [1] ‘*使用以下代码检索到图片

  • 是否正确?现在,当我尝试从数据库中检索blob数据时,它每次都会更改,为什么?那么如何检索此图像呢?以下是我尝试过的代码: 我没有看到任何图像。为什么?请帮忙。谢谢

  • 日安!我正在尝试搜索一个从Android上传一个图像文件到一个在线MySQL数据库的基本教程,但是我找不到任何。 我现在正在做一个activity,可以把用户的个人资料图片从Android上传到在线服务器上。 我需要的是像显示一个按钮,当它被点击时,用户可以从文件中选择一个图像。有人能指导我做这件事吗?提前道谢!

  • 问题内容: 如何在MySQL中插入图像,然后使用PHP检索图像? 我在这两个领域的经验都很有限,我可以使用一些代码让我着手解决这个问题。 问题答案: 首先,您创建一个MySQL表来存储图像,例如: 然后,您可以将图像写入数据库,如下所示: 您可以使用以下方法在网页中显示数据库中的图像:

  • 最近,我一直试图在Java中缩放像素数组(INT[])。我使用。setrgb()将我所有的像素数据添加到BufferedImage中。然后,BufferedImage提供了一个名为.getScaledInstance()的函数。这对我来说应该很有效,但我遇到了一个问题。.getScaledInstance()返回图像,而不是BufferedImage。对于Image对象,我不能使用.getrgb(