ASIHTTPREQUEST没有内容长度响应(大型PDF文件)

时间:2012-10-06 13:58:18

标签: ios xcode asihttprequest content-length

我的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文件为13 MB。在同一个地方的其他文件可以得到正确的长度。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

最后,我做到了。因为我的服务器自动gzip-ed PDF文件所以我无法获得内容长度作为响应。

要关闭gzip功能,只需添加

即可
SetEnv no-gzip dont-vary
.htaccess文件中

。就是这样。