在通过HTTP下载文件之前获取文件大小
问题描述:
我正在通过互联网使用HTTP下载文件,我想创建一个进度条。如何确定我要下载的文件的大小,以字节为单位。我在Java中使用了HttpURLConnection
,我尝试获取Content-Length
属性,并且返回529,即使要下载的文件的大小是〜200MB。在通过HTTP下载文件之前获取文件大小
答
在这种情况下,HTTP
HEAD
请求可以用于仅获取GET
请求的标头。然后您可以检查响应中的Content-Length
值。可以参考here
的
HTTP
HEAD
方法请求,如果指定的资源将与HTTP
GET
方法请求返回的headers
。这样的请求可以在决定下载大量资源以节省带宽之前完成。
听起来像这可能是他们的错误。 – shmosel
看看这个[SO帖子](https://stackoverflow.com/questions/263013/java-urlconnection-how-can-i-find-out-the-size-of-a-web-file)。 – DevilsHnd
关注Apache Commons IO – qualebs