簡體   English   中英

為什么使用ImageIO下載的文件比瀏覽器下載的文件小?

[英]Why is file downloaded using ImageIO smaller than browser downloaded file?

下面的代碼從指定的URL下載圖像。 當從瀏覽器本地保存同一圖像時,它比以編程方式下載的圖像大得多,約為66%。

盡管代碼未明確指定有關大小的任何參數,但是為什么下載的文件比從瀏覽器下載的文件小?

BufferedImage buffImage = ImageIO.read(new URL("random url to an image"));
ImageIO.write(buffImage, "jpg", new File("MyAppDl.jpg"));

編輯:很奇怪...這是不一致的; 在不同的URL上,縮略圖明顯較小

只是一個猜測:瀏覽器“按原樣”加載文件...您的代碼將文件讀取到數據結構中,然后再次將其寫入文件中。 最有可能的是,它應用了默認壓縮,該壓縮可能會高於原始使用比率。

如果要原始文件,請不要使用BufferedImageImageIO而應使用普通流對其進行讀寫。

正在使用其他質量設置對ImageIO版本進行解壓縮和重新壓縮。 不要這樣做,請使用不處理數據的常規Stream ,而只將其傳遞給未解釋的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM