2015-11-02 66 views
2

我需要用httpClient從Internet下載動畫gif圖片。 我用這個方法。如何用java中的httpClient下載動畫gif圖片

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

但是圖片是靜態的。

例如:

我想:enter image description here

其實:enter image description here

實際的圖片是第一個GIF動畫。

謝謝。

+0

這似乎是ImageIO.write()的問題。看看這個類似的問題http://stackoverflow.com/questions/22240328/how-to-draw-a-gif-animation-in-java併發布任何結果。 –

+2

不需要ImageIO,只需將從響應中獲得的原始字節寫出即可。 – Gimby

+0

Gimby,請發表一個答案。那是正確的迴應。 – MeBigFatGuy

回答

0

就像Gimby說的,他是對的,不需要ImageIO!

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

謝謝。