【问题标题】:android-async-http uploading image to php serverandroid-async-http 上传图片到 php 服务器
【发布时间】:2015-10-20 08:42:17
【问题描述】:

我整天都在寻找如何将图像从我的应用程序上传到服务器端。 我已经完成了移动应用程序方面

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";
}?>

但我无法在服务器上找到图像,即使 statusCode 正常

有什么问题??我的php代码错了吗?

【问题讨论】:

  • 展示你的身体请回复
  • @eddykordo 它只显示失败
  • 也许你上传文件夹的 chmod 错误
  • @eddykordo 它设置为 775 我使用了另一种方法来使用标准 http 请求上传图像并且它有效,但我想使用 android-sync-http 库的 post 方法,因为我使用它在我的整个应用程序中并且非常好
  • @eddykordo 我已经解决了这个问题 :)

标签: php android android-async-http


【解决方案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) {

    }
});
}

【讨论】:

  • 谢谢!我在加载图像时遇到问题:413 请求实体太大。再次搜索解决:)
猜你喜欢
  • 2014-06-05
  • 2014-07-18
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
相关资源
最近更新 更多