我正在用okhttp下载一个文件,并且事情工作正常 - 现在我想显示进度并且碰到路障。返回的内容长度是-1。 这又回到正确的从服务器:okhttp内容长度是-1与大文件
⋊> ~ curl -i http://ipfs.io/ipfs/QmRMHb4Vhv8LtYqw8RkDgkdZYxJHfrfFeQaHbNUqJYmdF2 13:38:11
HTTP/1.1 200 OK
Date: Tue, 14 Jun 2016 11:38:16 GMT
Content-Type: application/octet-stream
Content-Length: 27865948
我追踪的问题到这里OkHeaders.java:
public static long contentLength(Headers headers) {
return stringToLong(headers.get("Content-Length"));
}
我在这里看到的所有其它头在头 - 但不是内容长度 - 所以headers.get(“Content-Length”)返回null。任何人都有线索如何可能会丢失?
有趣的是,如果我更改URL为“http://google.com”我从okhttp内容长度 - 但卷曲看起来都一样的Content-Length明智的 - 这真的让我困惑
更新:这似乎与他相关联文件的大小。如果我从同一台服务器使用较小的内容,我会用okhttp获得Content-Length。只有当文件很大时才会出现问题
“文件很大”的字节数是多少? – Robert
27兆字节的大小 – ligi