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