1

HttpClientを使用してファイルをアップロードしています。19 個のファイルをアップロードしようとしまし
たが、正常にアップロードされたファイルは 3 つだけです。

これが機能しない理由を教えてください。可能であれば、アドバイスやコード例を教えてください。

私のコードは以下の通りです:

public void uploadLog() {

new Thread(new Runnable() {
        @Override
        public void run() {


            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(UPLOAD_LOG_URL);
            InputStreamEntity reqEntity;
            try {
                File file=new File(Environment.getExternalStorageDirectory()
                        + "/wlantest/report/");
                Log.v("report/", file.getCanonicalPath());
                File[] files=file.listFiles();
                for(int i=0;i<files.length;i++)
                {
                    reqEntity = new InputStreamEntity(new FileInputStream(
                            files[i].getCanonicalPath()), -1);
                    Log.v("test", "" + files[i].getCanonicalPath());
                reqEntity.setContentType("application/x-zip-compressed");
                reqEntity.setChunked(true);
                post.setEntity(reqEntity);
                HttpResponse response = client.execute(post);
                Log.v("test", "" + response.getStatusLine().toString());
                Log.v("test", "" + response.getStatusLine().getStatusCode());
                if (response.getStatusLine().getStatusCode() == 200) {
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, "sucessed", Toast.LENGTH_SHORT).show();
                            File filetotal = new File(Environment.getExternalStorageDirectory() + "/wlantest/report/");
                            if (filetotal.listFiles().length != 0) {
                                report_total.setText("You have saved" + filetotal.listFiles().length
                                        + "reports" + "\n" + "click to upload");
                            }
                            else {
                                report_total.setText("You have no report\nafter saving will display");
                                progress.dismiss();
                            }

                        }
                    });
                }
                files[i].delete();

                }


            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            /*
             * sendMesssage(MESSAGE_FINISH, 0); } else {
             * sendMesssage(MESSAGE_FAILED, 0); } } catch (IOException e) {
             * e.printStackTrace(); sendMesssage(MESSAGE_FAILED, 0); }
             */

        }
    }).start();
}

と私のlogcat

11-01 14:34:25.110: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:25.110: V/テスト (874): 200 11-01 14:34:25.470: V/テスト(874): /mnt/sdcard/wlantest/report/1351643286085.zip 11-01 14:34:25.470: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:25.470: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:25.540: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:25.540: V/テスト (874): 200 11-01 14:34:25.550: V/テスト(874): /mnt/sdcard/wlantest/report/1351644284660.zip 11-01 14:34:25.550: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:25.550: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:25.630: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:25.630: V/テスト (874): 200 11-01 14:34:25.640: V/テスト (874): /mnt/sdcard/ wlantest/report/1351649375578.zip 11-01 14:34:25.640: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:25.640: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:25.790: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:25.790: V/テスト (874): 200 11-01 14:34:25.790: V/テスト(874): /mnt/sdcard/wlantest/report/1351650552047.zip 11-01 14:34:25.790: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:25.790: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:26.700: V/テスト (874): HTTP/1。1 200 OK 11-01 14:34:26.700: V/テスト (874): 200 11-01 14:34:28.620: V/テスト (874): /mnt/sdcard/wlantest/report/1351652247364.zip 11- 01 14:34:28.640: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:28.640: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:28.780: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:28.780: V/テスト (874): 200 11-01 14:34:28.780: V/テスト(874): /mnt/sdcard/wlantest/report/1351652447759.zip 11-01 14:34:28.780: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:28.780: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:28.900: V/テスト (874): HTTP/1.1 200 OK 11-01 14: 34:28.900: V/テスト (874): 200 11-01 14:34:28.910: V/テスト (874): /mnt/sdcard/wlantest/report/1351652790670.zip 11-01 14:34:28.920: W /SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:28.920: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:28.940: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:28.940: V/テスト (874): 200 11-01 14:34:28.950: V/テスト(874): /mnt/sdcard/wlantest/report/1351652906642.zip 11-01 14:34:28.950: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:28.950: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.070: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.070: V/テスト (874): 200 11-01 14:34:29.080: V/テスト (874): /mnt/sdcard/wlantest/report/1351653878048.zip 11-01 14:34:29.090: W/SingleClientConnManager (874 ): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.090: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.110: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.110: V/テスト (874): 200 11-01 14:34:29.110: V/テスト(874): /mnt/sdcard/wlantest/report/1351654209724.zip 11-01 14:34:29.110: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.110: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.200: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.200: V/テスト (874): 200 11-01 14:34:29.210: V/test(874): /mnt/sdcard/wlantest/report/1351661911878.zip 11-01 14:34:29.210: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用:接続がまだ割り当てられています。11-01 14:34:29.210: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.310: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.310: V/テスト (874): 200 11-01 14:34:29.320: V/テスト(874): /mnt/sdcard/wlantest/report/1351662101340.zip 11-01 14:34:29.320: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.320: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.440: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.440: V/テスト (874): 200 11-01 14:34: 29.440: V/test(874): /mnt/sdcard/wlantest/report/1351662348097.zip 11-01 14:34:29.450: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.450: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.550: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.550: V/テスト (874): 200 11-01 14:34:29.550: V/テスト(874): /mnt/sdcard/wlantest/report/1351662414224.zip 11-01 14:34:29.560: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.560: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.650: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.650: V/テスト (874): 200 11-01 14:34:29.660: V/テスト(874): /mnt/sdcard/wlantest/report/1351662757528.zip 11-01 14:34:29.660: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.660: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.770: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.770: V/テスト (874): 200 11-01 14:34:29.770: V/テスト(874): /mnt/sdcard/wlantest/report/1351662878154.zip 11-01 14:34:29.780: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.780: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.810: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.810: V/テスト (874): 200 11-01 14:34:29.840: V/テスト(874): /mnt/sdcard/wlantest/report/1351663009338.zip 11-01 14:34:29.840: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.840: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.880: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.880: V/テスト (874): 200 11-01 14:34:29.880: V/テスト(874): /mnt/sdcard/wlantest/report/1351664456648.zip 11-01 14:34:29.880: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.880: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.920: V/テスト (874): HTTP/1.1 200 OK 11-01 14:34:29.920: V/テスト (874): 200 11-01 14:34:29.920: V/テスト(874): /mnt/sdcard/wlantest/report/1351665696886.zip 11-01 14:34:29.930: W/SingleClientConnManager(874): SingleClientConnManager の無効な使用: 接続がまだ割り当てられています。11-01 14:34:29.930: W/SingleClientConnManager(874): 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.960: V/test(874): HTTP/1.1 200 OK 11-01 14:34:29.960: V/test(874): 200 11-01 14:34:30.010: D/memalloc (874):ion:アンマッピングバッファベース:0x5d3d2000 サイズ:196608 11-01 14:34:30.010:D/memalloc(874):ion:アンマッピングバッファベース:0x5cf9a000 サイズ:196608 11-01 14:34:30.010:D /memalloc(874): ion: アンマッピング バッファ base:0x5cfca000 size:196608 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.960: V/test(874): HTTP/1.1 200 OK 11-01 14:34:29.960: V/test(874): 200 11-01 14:34:30.010: D/memalloc (874):ion:アンマッピングバッファベース:0x5d3d2000 サイズ:196608 11-01 14:34:30.010:D/memalloc(874):ion:アンマッピングバッファベース:0x5cf9a000 サイズ:196608 11-01 14:34:30.010:D /memalloc(874): ion: アンマッピング バッファ base:0x5cfca000 size:196608 別の接続を割り当てる前に、必ず接続を解放してください。11-01 14:34:29.960: V/test(874): HTTP/1.1 200 OK 11-01 14:34:29.960: V/test(874): 200 11-01 14:34:30.010: D/memalloc (874):ion:アンマッピングバッファベース:0x5d3d2000 サイズ:196608 11-01 14:34:30.010:D/memalloc(874):ion:アンマッピングバッファベース:0x5cf9a000 サイズ:196608 11-01 14:34:30.010:D /memalloc(874): ion: アンマッピング バッファ base:0x5cfca000 size:196608

4

0 に答える 0