изображение загрузки будет повреждено в приложении android
Просто мне нужно загрузить изображение, но проблема в том, что изображение повреждается !!! я нашел много способов загрузить изображение, но все равно эта проблема появилась .
Я пытаюсь сделать это:
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
File file2 = new File(path,"DemoPictureX.png");
InputStream is=(InputStream) new URL("http://androidsaveitem.appspot.com/downloadjpg").getContent();
OutputStream os = new FileOutputStream(file2);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
Я думаю, что он читал просто прочитать какую-то строку из изображения !!!
1 ответ:
Вам нужен цикл и чтение с меньшим буфером (например, 1024 байта) из потока.
URL url = new URL("your url here"); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); FileOutputStream fos = new FileOutputStream(targetFile); byte buffer[] = new byte[1024]; int read; while ((read = bis.read(buffer)) > 0) { fos.write(buffer, 0, read); } fos.flush(); fos.close(); bis.close(); is.close();
Это должно сработать для вас