Не удается загрузить изображение на сервер в Android - PullRequest
0 голосов
/ 30 сентября 2011

Я использовал какой-то код из интернета для загрузки изображения

public class ActUpload extends Activity {
InputStream is;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.blue);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 90, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeBytes(ba);
ArrayList<NameValuePair> nameValuePairs = new
ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("image",ba1));
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new
HttpPost("http://127.0.0.1:80/php/base.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
}
}

и даже взял немного php-кода, скопировал некоторый php-код, который я запускаю на локальном сервере, используя сервер wamp На локальном сервере нет ответа. и это мой php код

<?php
$base=$_REQUEST['image'];
echo $base;
// base64 encoded utf-8 string
$binary=base64_decode($base);
// binary, utf-8 bytes
header('Content-Type: bitmap; charset=utf-8');
// print($binary);
//$theFile = base64_decode($image_data);
$file = fopen('test.jpg', 'wb');
fwrite($file, $binary);
fclose($file);
echo '<img src=test.jpg>';
?>

Может ли кто-нибудь помочь мне в этом. заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 января 2013

Вам удалось решить проблему?Я заставил его работать, когда я изменил $ base = $ _ REQUEST ['image'];=> $ base = $ _ POST ['image'];и закомментировал следующий заголовок строки ('Content-Type: bitmap; charset = utf-8');Кстати, пытался ли преобразовать код для использования HttpURLConnection api?

0 голосов
/ 30 сентября 2011

Хороший учебник для загрузки изображения на сервер-

http://coderzheaven.com/2011/04/android-upload-an-image-to-a-server/

Edit:

Вам просто нужно изменить это в соответствии с вашим локальным сервером:

HttpPost httppost = new HttpPost("http://<local ip address>/android/upload_image.php");

// For example,in my code,i used:
// HttpPost httppost = new HttpPost("http://192.168.100.47/android/upload_image.php");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...