上传
当上传多个文件时,即 Content-Type 为 multipart/form-data 时,我们会打开一个 DataOutputStream:
outputStream = new DataOutputStream(conn.getOutputStream());
这种情况下 Content-Length 的值为写入 stream 的全部数据的大小,可以用 outputStream.size() 查看。
int java.io.DataOutputStream.size()
Returns the total number of bytes written to the target stream so far.
其他情况待续
下载
拿百度 logo 举个例子吧,通过 URL 用 get 方法:
$ http get http://www.baidu.com/img/bdlogo.png
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=315360000
Connection: Keep-Alive
Content-Length: 5331
Content-Type: image/png
Date: Tue, 28 Apr 2015 09:47:54 GMT
ETag: "14d3-4ff90199dfb40"
Expires: Fri, 25 Apr 2025 09:47:54 GMT
Last-Modified: Fri, 01 Aug 2014 11:57:57 GMT
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Server: Apache
Set-Cookie: BAIDUID=4F416F46A8115AB0DC8B4E881EBD8228:FG=1; expires=Wed, 27-Apr-16 09:47:54 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1
$ ls -l bdlogo.png
-rw-r----- 1 han han 5331 Apr 28 17:48 bdlogo.png
看到 5331
这个数值没有?
可见 Content-Length 就是 bdlogo.png 的文件大小。
其他情况待续