こんにちは、Web サービスからデータをロードするときに、progressView を作成する必要があります。
実際には、expectedContentLength は常に -1 を返します。
多くの同様の問題を見た後、私のWebサービスはContent-Length:を送信しないようです。
次に、CURLで確認すると、結果は次のとおりです。
< HTTP/1.1 200 OK
< Date: Thu, 21 Jun 2012 10:04:39 GMT
< Server: Apache/2.2.16 (Debian)
< X-Powered-By: PHP/5.3.3-7+squeeze9
< cache-control: no-cache
< Vary: Accept-Encoding
< Content-Type: text/html; charset=UTF-8
< Content-Length: 3239
< Connection: Keep-Alive
< Set-Cookie: PHPSESSID=u4o4i9dofdgnkfmtnf163635j6; path=/
これが長さをキャッチする私のコードです
long long expectDataSize;
long long currentDataSize;
....
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSHTTPURLResponse *)response
{
NSLog(@"expect content length %lld", [response expectedContentLength]);
expectDataSize = [response expectedContentLength];
currentDataSize = 0;
}
誰もがこの問題をすでに見ていますか?