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-код неверен?


person Khalil Rumman    schedule 29.07.2015    source источник
comment
покажите свое тело плз вашего ответа   -  person eddykordo    schedule 29.07.2015
comment
@eddykordo показывает только ошибку   -  person Khalil Rumman    schedule 29.07.2015
comment
возможно, у вас неправильный chmod для папки с загрузкой   -  person eddykordo    schedule 29.07.2015
comment
@eddykordo установлено значение 775. Я использовал другой метод для загрузки изображения с помощью стандартного HTTP-запроса, и он работает, но я хочу использовать метод публикации библиотеки android-sync-http, потому что я использую его во всем своем приложении и его очень хороший   -  person Khalil Rumman    schedule 29.07.2015
comment
@eddykordo Я решил проблему :)   -  person Khalil Rumman    schedule 29.07.2015


Ответы (1)


Я решил проблему, это было в моих 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) {

    }
});
}
person Khalil Rumman    schedule 29.07.2015
comment
Благодарю вас! У меня проблема с загрузкой изображения: 413 Request Entity Too Large. Поиск решает снова :) - person AlexS; 16.11.2018