Bonjour,
J'essaie de transformer une image JPG qui est sur SDCARD en byte[] pour pouvoir l'envoyer à un webservice.
Voici mon code:
J'ai cette erreur "OutOfMemoryError" sur la ligne "bos.write(b, 0, bytesRead);".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 FileInputStream in; byte[] bytes = null; try { in = new FileInputStream(Environment.getExternalStorageDirectory().getPath() + "/out.jpg"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte[1024]; int bytesRead; bytesRead = in.read(b); while (bytesRead != -1) { bos.write(b, 0, bytesRead); } bytes = bos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); bytes = null; } catch (IOException e) { e.printStackTrace(); bytes = null; } if (bytes != null) { upload.buff = new String(bytes); }
Je ne vois pas d'où cela peut bien venir...
Merci,
Drlord.
Partager