android-async-http загрузка изображения на php сервер

Я целый день искал, как загрузить изображение из моего приложения на серверную часть.
Я сделал на стороне мобильного приложения

public static void postImage(String ImageLink){
RequestParams params = new RequestParams();
params.put("uploaded_file[name]", "MyImageName");
try {
params.put("uploaded_file[image]", new File(ImageLink));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(MY_PHP_FILE_LINK, params, new AsyncHttpResponseHandler() {

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
System.out.println("statusCode "+statusCode);//statusCode 200
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

}
});
}

и мой код стороны php

<?php

$file_path = "/uploads/";

$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
}?>

но я не могу найти изображение на сервере, даже код состояния был в порядке

в чем проблема?? мой php код неправильный?

4

Решение

Я решил проблему, это было в моих RequestParams, я пытался изменить имя файла, но, кажется, я не могу сделать это, чтобы я изменил свой код, и он работает нормально

public static void postImage(String ImageLink){
RequestParams params = new RequestParams();
try {
params.put("uploaded_file", new File(ImageLink));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.post(MY_PHP_FILE_LINK, params, new AsyncHttpResponseHandler() {

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
System.out.println("statusCode "+statusCode);//statusCode 200
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

}
});
}
10

Другие решения

Других решений пока нет …