当我尝试使用AFNetworking从URL下载pdf文件时,保存文件的大小大约是我预期的一半。当我使用curl /标准浏览器工具发出相同的请求时,文件大小是正确的。
如何动态解压缩文件以使其可读?或者AFNetworking是否自动压缩它不应该的文件?
AFNetworking的客户端类默认设置以下请求标头:
"Accept-Encoding" = gzip;
"Accept" = application/json";
以下是我如何获取文件:
AFHTTPClient *client; // already instantiated & configured
NSURLRequest *request = [client requestWithMethod:@"GET" path:requestPath parameters:parameters];
AFHTTPRequestOperation *operation = [client HTTPRequestOperationWithRequest:request success:success failure:failure];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:localFilePath append:NO];
[self enqueueHTTPRequestOperation:operation];
稍后,当我通过NSFileManager和外部工具检查文件大小时,大小是我期望的1/2。
当我通过HTTP浏览器客户端发出相同的请求时,我在响应头中看不到任何内容表明返回的内容已被压缩。
服务器发送的响应标头(通过HTTP浏览器扩展工具检查):
Transfer-Encoding: chunked
Status: 200 OK
Content-Transfer-Encoding: binary
Content-Disposition: inline; filename="document_sample.pdf"
Connection: keep-alive
Content-Type: application/pdf
Cache-Control: private
如何下载文件以便按预期保存?