0

私のiOSアプリは、ASIHTTPREQUESTを使用してサーバーからファイルをダウンロードしています。それはうまく機能しますが、uiprogressviewは機能しません。

そこで、コードを使用してヘッダー情報を確認します。

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://www.ozis.com.au/nm.pdf"]];
[request startSynchronous];
NSLog(@"%@",[request responseHeaders]);

次に、コンテンツの長さの応答がないことがわかります。結果は次のようになります。

"Accept-Ranges" = bytes;
Connection = "Keep-Alive";
"Content-Encoding" = gzip;
"Content-Type" = "application/pdf";
Date = "Sat, 06 Oct 2012 13:47:15 GMT";
Etag = "\"2b5139-ddf639-4cafe418b6140\"";
"Keep-Alive" = "timeout=10, max=30";
"Last-Modified" = "Mon, 01 Oct 2012 12:07:57 GMT";
Server = Apache;
"Transfer-Encoding" = Identity;
Vary = "Accept-Encoding";

しかし、たまに5%の確率で、長い間待った後、その長さを得ることができます。このPDFファイルは13MBです。同じ場所にある他のファイルは、正しい長さにすることができます。

私は何をすべきか?

4

1 に答える 1

1

最後に、私はそれを作りました。サーバーがPDFファイルを自動的にgzipで圧縮したため、応答としてcontent-lengthを取得できません。

gzip機能をオフにするには、単に追加するだけです

SetEnv no-gzip dont-vary

.htaccessファイル内。それでおしまい。

于 2012-10-07T00:54:33.697 に答える