Bonjour,
Je vous explique ma problématique. Il faut que j'envoie une image à un webservice.
L'image provient de la caméra donc pour ce faire dans la méthode "onPreviewFrame" je la sauvegarde sur la sdCard voici le code (il n'y a pas de problème sur ce point):
Maintenant il faut convertir cette image en String pour l'envoyer au Webservice, étant donné que SOAP c'est un fichier XML qui est envoyé donc cela explique pourquoi la conversion en String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 try { Camera.Parameters parameters = camera.getParameters(); Size size = parameters.getPreviewSize(); YuvImage image = new YuvImage(data, parameters.getPreviewFormat(), size.width, size.height, null); File file = new File(Environment.getExternalStorageDirectory().getPath() + "/out.jpg"); FileOutputStream filecon = new FileOutputStream(file); image.compressToJpeg(new Rect(0, 0, image.getWidth(), image.getHeight()), 100, filecon); } catch (FileNotFoundException e) { if (DEBUG) { Log.d("*WEBRTC*", "shouldTakePicture: " + e.getMessage()); } }
Voici le code que j'utilise mais je ne sais pas du tout si cela est correct:
Je n'est pas réussit à pouvoir transformer mon String en bitmap pour visualiser que la conversion en string est correcte.
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
23 FileInputStream in; byte[] bytes = null; 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); bytesRead = in.read(b); } 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); }
Merci,
Drlord.
Partager