2015-08-23 5 views
0

Я создаю код для загрузки некоторых изображений из Интернета с помощью HtmlUnit. Но когда я сохраняю изображение с помощью HtmlUnit, качество изображения очень низкое по сравнению с исходным изображением. Я использовал этот код, чтобы сохранить img-url в файл.HtmlUnit Сохранить изображение Качество

try { 
       HtmlImage imgX = (HtmlImage) 
       page.getByXPath("//img").get(0); 
       Thread.sleep(3000); 

       File imageFile = new File(dir +"/"+ name); 
       imgX.saveAs(imageFile); 
       System.out.println("Done!!!!"); 
} catch (Exception e) { 
       e.printStackTrace(); 
} 

Есть ли другие варианты доставки изображения с наилучшим качеством?

Я попытался использовать это: How to convert an <img... in html to byte [] in Java Но изображение не было создано.

+0

Вы можете разместить свой полный случай, с реальным изображением? –

ответ

0

Получить WebResponse от HtmlImage:

InputStream inputStream = imgX.getWebResponse(true).getContentAsStream(); 

, а затем работать непосредственно на InputStream:

File imageFile = new File(dir +"/"+ Name); 
FileOutputStream outputStream = new FileOutputStream(imageFile); 
IOUtils.copy(inputStream, outputStream); 
+0

hi brnfd .. Большое спасибо человеку .. твоя демонстрация отлично работает \ o/ –

+0

Я рад помочь. Не забудьте отметить ответ как правильный. :) – brnfd

Смежные вопросы