Bonjour à tous!
J'ai un souci lorsque je veux récupérer une image depuis une url, j'arrive à télécharger l'image mais lorsque j'écris l'image sur le disque dur j'ai bien un fichier qui fait la bonne taille mais il n'y a rien dans l'image.
voici mon code :
Code :
- private byte[] TelechargerRessource(String Surl){
- byte []ByteImg = null;
- try {
- // Construct data
- String data = URLEncoder.encode("key1", "UTF-8" ) + "=" + URLEncoder.encode("value1", "UTF-8" );
- data += "&" + URLEncoder.encode("key2", "UTF-8" ) + "=" + URLEncoder.encode("value2", "UTF-8" );
- // Send data
- URL url = new URL(Surl);
- URLConnection conn = url.openConnection();
- conn.setDoOutput(true);
- OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
- wr.write(data);
- wr.flush();
- // Get the response
- InputStream rd = conn.getInputStream();
-
- BufferedReader in = new BufferedReader (new InputStreamReader(rd));
-
- String line;
- StringBuffer sb=new StringBuffer();
- while ((line = in.readLine()) != null)
- {
- sb.append(line);
- }
- in.close();
- ByteImg=sb.toString().getBytes();
- System.out.println(ByteImg.length);
- rd.close();
- wr.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return ByteImg;
- }
|
Code :
- byte[] b=courants.TelechargerRessource(/* mon url */);
- System.out.println(b.length);
- File file = new File("img.png" );
- BufferedOutputStream bos = null;
- try {
- bos = new BufferedOutputStream(new FileOutputStream(file));
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- bos.write(b);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- bos.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
|
Message édité par Profil supprimé le 16-05-2010 à 14:08:33