【问题标题】:Get image from server file system to android application?从服务器文件系统获取图像到 android 应用程序?
【发布时间】:2012-03-23 22:10:15
【问题描述】:

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

这是我的(非常简单的)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;

【问题讨论】:

    标签: java php android html


    【解决方案1】:

    HttpPost 更改为HttpGet

    【讨论】:

      【解决方案2】:
             //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();
      
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-04
        • 2014-04-25
        • 2011-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-28
        • 2020-09-12
        相关资源
        最近更新 更多