Android图片上传无法访问PHP脚本

时间:2014-02-12 14:57:11

标签: php android image-uploading

我正在尝试将图像从Android上传到PHP服务器。

这是我的上传代码:

public static void uploadFile(final String imagePath){

    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(SERVER);

    try {
        File imageFile = new File(imagePath);

        httpClient.getParams().setParameter(CoreProtocolPNames.USER_AGENT, System.getProperty("http.agent"));

        MultipartEntityBuilder entity = MultipartEntityBuilder.create();

        entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
        entity.addPart("image", new FileBody(imageFile));

        httpPost.setEntity(entity.build());
        HttpResponse response = httpClient.execute(httpPost);

        HttpEntity resEntity = response.getEntity();

        BufferedReader reader = new BufferedReader(new InputStreamReader(resEntity.getContent(), "UTF-8"));
        String sResponse;
        StringBuilder s = new StringBuilder();

        while ((sResponse = reader.readLine()) != null) {
            s = s.append(sResponse);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

以下是我处理上传的PHP代码:

<?php
    echo "FILES - ";
    var_dump($_FILES);
    echo " REQUEST - ";
    var_dump($_REQUEST);

    $file_path = "images";

    $file_path = $file_path . basename($_FILES['image']['name']);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $file_path)) {
        echo "success";
    } else{
        echo "fail";
    }
?>

我从页面得到200条回复,但$ _FILES和$ _REQUEST变量都是空的。似乎图像文件没有进入脚本,我不知道为什么。我根据我发现的所有教程正确地做到了。

我上传的图片大约是180kb

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是我服务器的问题。我转而使用我服务器的不同子域,现在它运行得很好。