0

ここに私のコードがあります

private Boolean doFileUpload() {
        HttpEntity resEntity;
        String urlString = "http://192.168.1.112/johnson/learn/android/index2.php";
        try {
            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(urlString);
            FileBody bin1 = new FileBody(file1);
            FileBody bin2 = new FileBody(file2);
            MultipartEntity reqEntity = new MultipartEntity();
            reqEntity.addPart("uploadedfile1", bin1);
            reqEntity.addPart("uploadedfile2", bin2);
            reqEntity.addPart("user", new StringBody("User"));
            post.setEntity(reqEntity);
            HttpResponse response = client.execute(post);
            resEntity = response.getEntity();
            final String response_str = EntityUtils.toString(resEntity);
            if (resEntity != null) {
                Log.i("RESPONSE", response_str);
                runOnUiThread(new Runnable() {
                    public void run() {
                        try {
                            showToast("Upload Complete. Check the server uploads directory.");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });
            }
        } catch (Exception ex) {
            Log.e("Debug", "error: " + ex.getMessage(), ex);
        }
        return true; 
    }

2MB 前後のファイルをアップロードすると機能しますが、20MB 以上のファイルをアップロードするとエラーになります 誰がエラーの場所を知っていますか? (エラー = データはアップロードされていませんが、アップロードされていると記載されています)

両方のアップロードが成功したと記載されています。

私のログキャット

08-24 13:27:15.725: D/dalvikvm(4221): GC_CONCURRENT freed 324K, 5% free 9538K/9991K, paused 0ms+0ms
08-24 13:27:18.417: I/RESPONSE(4221): <br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile1 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>6</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): <br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile1 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>7</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): There was an error uploading the file, please try again!<br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile1 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>12</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): filename: target_path: uploads/<br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile2 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>16</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): <br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile2 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>17</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): There was an error uploading the file, please try again!<br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: uploadedfile2 in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>22</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): filename: target_path2: uploads/<br />
08-24 13:27:18.417: I/RESPONSE(4221): <b>Notice</b>:  Undefined index: user in <b>C:\xampp\htdocs\Johnson\Learn\android\index2.php</b> on line <b>26</b><br />
08-24 13:27:18.417: I/RESPONSE(4221): n String Parameter send from client side : 

これは私のPHPスクリプトです

<?php
$target_path1 = "uploads/";
$target_path2 = "uploads/";
/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$target_path1 = $target_path1 . basename( $_FILES['uploadedfile1']['name']);
if(move_uploaded_file($_FILES['uploadedfile1']['tmp_name'], $target_path1)) {
    echo "The first file ".  basename( $_FILES['uploadedfile1']['name']).
    " has been uploaded.";
} else{
    echo "There was an error uploading the file, please try again!";
    echo "filename: " .  basename( $_FILES['uploadedfile1']['name']);
    echo "target_path: " .$target_path1;
}

$target_path2 = $target_path2 . basename( $_FILES['uploadedfile2']['name']);
if(move_uploaded_file($_FILES['uploadedfile2']['tmp_name'], $target_path2)) {
    echo "n The second file ".  basename( $_FILES['uploadedfile2']['name']).
    " has been uploaded.";
} else{
    echo "There was an error uploading the file, please try again!";
    echo "filename: " .  basename( $_FILES['uploadedfile2']['name']);
    echo "target_path2: " .$target_path2;
}

$user = $_REQUEST['user'];
echo "n String Parameter send from client side : " . $user;
?>
4

1 に答える 1

1

どちらの場合も、ファイルは実際に適切にアップロードされている可能性があります。ただし、ターゲットURLはPHPスクリプトです。PHPには、投稿で受け入れるデータの量に制限があります(PHPオプションで設定できます)(デフォルトを思い出せませんが、かなり低かったです)。

スクリプトが受け入れることができるデータの量を調査します。

于 2012-08-24T10:33:59.863 に答える