php - Android 多部分图像上传问题

标签 php android file-upload image-uploading multipartform-data

我一直在尝试将图像文件从 android 上传到我的 php 服务器,但 php 中的 $_FILES 数组始终为空。为了测试它是服务器还是客户端问题,我制作了一个快速的 Web 表单,提交了与 Android 应用程序相同的数据,它起作用了,让我认为 Android 代码有问题。

我的 php 代码是:

//check for uploaded files
var_dump($_POST);
var_dump($_FILES);

$target_path  = "./images/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
 echo "The file ".  basename( $_FILES['uploadedfile']['name']).
 " has been uploaded";
} else{
 echo "There was an error uploading the file, please try again!";
}

和安卓部分:

public void uploadFile(){

        File file = new File("/storage/sdcard0/Android/data/xxx/files/Pictures/JPEG20131005.jpg");


        RequestParams params = new RequestParams();
        try {
            params.put("uploadedfile", file);
        } catch(FileNotFoundException e) {
             Log.e("testcase", "file not found");
        }


        AsyncHttpClient client = new AsyncHttpClient();
        client.post("http://www.example.com/fileUploader.php", params, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(String response) {
                System.out.println(response);
            }
        });

}

刚回来

array(0){
}

对于两个 var_dump($_POST);和 var_dump($_FILES);

这是我的有效表单代码:

<form action="fileUploader.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="uploadedfile" id="uploadedfile"><br>
<input type="submit" name="submit" value="Submit">
</form>

我也试过这个example和其他一些似乎都共享相似代码但我得到了相同的结果所以我决定使用 loopJ,纯粹是因为它是一个久经考验的库。

最佳答案

好的,事实证明我发送数据的 url 以 www 开头。并且服务器将 302 重定向到同一域,但没有 www。由于某种原因,这反过来又删除了所有数据。所以经过几天的扯头发,就是4个简单的退格....

关于php - Android 多部分图像上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202414/

相关文章:

c# - WCF REST 文件上传

php - Android 单选按钮值无法存储在 php mysql : "Required Fields are Missing" 中

php - 如何使用 GCM 在 android 中发送小图像和大图像作为推送通知

android - FFT 实现产生毛刺

android - 功能点击监听器问题android GeoJsonLayer

javascript - 在上传图像之前预览图像

php - 通过 PHP 将 mysql 列更新为 NULL 不起作用

php错误跟踪

javascript - 如何在 Android WebView 中使用 JavaScript 加载本地 HTML?

django - 使用 Django ModelForm 上传个人资料图片