从服务器文件系统获取镜像到android应用程序


Get image from server file system to android application?

我正在尝试从本地服务器检索图像文件。

这是我(非常简单)的php请求:

get_image.php

<?php
header("Content-type: image/*");
$images_folder = "uploads/";
$image_name = $_GET['image_id'];
$image_url = $images_folder . $image_name;
if (!readfile($image_url))
    echo "Error loading file";
?>

如果我在浏览器中运行这个:

draw_image.php

<img src="get_image.php?image_id=<?php echo $_POST["image_id"]?>" alt="Image"/>

我把画好了。

现在,如何在android应用程序中检索此图像?这是我目前的代码:

public void         GetUserPicture() throws Exception,  NumberFormatException
{
    try
    {
        String str_image_id = Utils.FromStringToMd5(askme_user.GetLogin() + Utils.SALT);
        HttpPost post = new HttpPost("http://192.168.0.7/askme/draw_image.php");
        List<NameValuePair> php_question = new ArrayList<NameValuePair>();
        php_question.add(new BasicNameValuePair("image_id", str_image_id));
        post.setEntity(new UrlEncodedFormEntity(php_question, "UTF-8"));
        HttpClient client = new DefaultHttpClient();
        HttpResponse response = client.execute(post);
        HttpEntity res_entity = response.getEntity();
        Log.i(TAG, "Status line : " + response.getStatusLine());
        if (res_entity != null) Log.i(TAG, EntityUtils.toString(res_entity));
        if (res_entity != null) res_entity.consumeContent();
    }
    catch (Exception e)
    {
        Log.e("[GET REQUEST]", "Network exception");
    }
}

这是我从HttpResponse:收到的当前日志

Status line : HTTP/1.1 200 OK
<img src="get_image.php?image_id=971c4623a86a4cbac2f1deffaf3c40" alt="Image"/>

我有点被困在这里,我不知道下一步该怎么办。。。


编辑:多亏了caner,这是我的最后一个代码,

String url = "http://192.168.0.7/askme/get_image.php";
if (!url.endsWith("?"))
    url += "?";
String str_image_id = Utils.FromStringToMd5(askme_user.GetLogin() + Utils.SALT);
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("image_id", str_image_id));
String str_params = URLEncodedUtils.format(params, "UTF-8");
url += str_params;
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(url));
HttpResponse response = client.execute(request);
InputStream is_image = response.getEntity().getContent();
Drawable drawable = Drawable.createFromStream(is_image, "user_picture");
return drawable;

HttpPost更改为HttpGet

       //declaration
    boolean net;
//imageUrl you specify
    String imageUrl="";
    imageUrl=?;
    //code
    net = isOnline();
     if (net == true) {
                    if (imageUrl != null)
                        try {
                            // where imageUrl is what you pulled out from the rss
                            // feed
                            Bitmap bitmap = BitmapFactory
                                    .decodeStream((InputStream) new URL(imageUrl.getContent());
                            if (bitmap != null) {
                                imageview.setImageBitmap(bitmap);
                            }
                        } catch (MalformedURLException e1) {
                            // log exception here
                        } catch (IOException e1) {
                            Log.e("...............................", "" + e1);
                            // log exception here
                        }
                }
    //method
    public boolean isOnline() {
            ConnectivityManager cm = (ConnectivityManager) this
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
            return activeNetworkInfo != null;
            // return cm.getActiveNetworkInfo().isConnected();
        }