我画了我的画。 现在,如-6ren">
gpt4 book ai didi

java - 从服务器文件系统获取图像到android应用程序?

转载 作者:行者123 更新时间:2023-11-29 22:11:13 25 4
gpt4 key购买 nike

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

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

获取图像.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";
?>

如果我在浏览器中运行它:

绘制图像.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

关于java - 从服务器文件系统获取图像到android应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com