[英]How to get image size from URL in java
我想從URL獲取圖像大小。 我的源代碼在本地工作,但是aws Ubuntu服務器將返回-1。 有什么問題?
URL url=new URL("https://www.bithumb.com/resources/img/comm/sp_coin.png?v=180510");
int image_size = url.openConnection().getContentLength();
System.out.println("mage size:: "+image_size);
如果服務器未使用有效的Content-Length
標頭進行響應,則getContentLength
返回-1
。 或者,您始終可以獲取返回數據的大小:
size = IOUtils.toByteArray(url.openStream()).length;
使用Apahe Commons IO IOUtils
。
有什么問題?
很難說。 但是,最終要由Web服務(不是Ubuntu或AWS)的實現來在響應中包括內容長度。
因此,如果您想找出原因 (並加以解決),則需要檢查(您的?)Web服務的實現,以及它如何創建響應。
正如@jspcal指出的,您可以解決此問題。 但是,為此,您將需要(至少)從響應數據流中讀取整個圖像。 這是否可行/有效的解決方案取決於您打算/何時使用內容長度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.