asyncTask 内の URL から画像をダウンロードします。
100 枚の画像をダウンロードしましたが、そのうちの 3 ~ 4 枚は黒い画像だけで、ダウンロードが中断されたようです。写真は破損したファイルか何かのようなものです...
私は高速で安定したインターネットを使用しており、100 の画像から 3 ~ 4 枚の画像しかなく、同じ画像ではなく、常に他の画像であるため、実際にはわかりません。
これは私のダウンロード方法です:
private void downloadPicture(String strURL, String id) {
id = id.trim();
InputStream input;
try {
URL url = new URL(strURL);
input = url.openStream();
byte[] buffer = new byte[1500];
File DownloadFolder = new File(Environment
.getExternalStorageDirectory().getPath() + "/myTest/");
DownloadFolder.mkdirs();
OutputStream output = new FileOutputStream(
DownloadFolder.toString() + "/" + id + "samplePicture.png");
try {
int bytesRead = 0;
while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0) {
output.write(buffer, 0, bytesRead);
}
} finally {
output.close();
buffer = null;
}
} catch (Exception e) {
Log.e("Exception while grabbing image from URL", e.toString());
}
}
私はこれで何が間違っていますか?