2015-11-02 8 views
2

J'ai besoin de télécharger une image gif animée à partir d'Internet avec httpClient. J'ai utilisé cette méthode.Comment télécharger une image gif animé avec httpClient en java

HttpResponse httpResponse = HttpClientUtils.getResponse(httpGet); 
InputStream is = httpResponse.getEntity().getContent(); 
BufferedImage sourceImg = ImageIO.read(is); 
ImageIO.write(sourceImg, "gif", file); 

Mais l'image est statique.

par exemple:

Je veux: enter image description here

En fait: enter image description here

L'image réelle est la première du GIF animé.

Merci.

+0

Il semble que ce soit un problème avec ImageIO.write(). Regardez ce problème similaire http://stackoverflow.com/questions/22240328/how-to-draw-a-gif-animation-in-java et afficher des résultats. –

+2

Pas besoin d'ImageIO, il suffit d'écrire les octets bruts que vous obtenez de la réponse à un fichier. – Gimby

+0

Gimby, s'il vous plaît poster une réponse. c'est la bonne réponse. – MeBigFatGuy

Répondre

0

Tout comme Gimby a dit, il a raison, pas besoin d'ImageIO!

InputStream is = httpResponse.getEntity().getContent(); 
byte[] bytes = IOUtils.toByteArray(is); 
FileUtils.writeByteArrayToFile(new file(path),bytes); 

Merci.