尽管获得了304服务器响应,AFNetworking下载文件

时间:2014-06-25 15:16:03

标签: objective-c cocoa-touch afnetworking

所以我想从网络服务器下载文件,即使服务器响应是304 Not Modified。 我使用AFURLSessionManager的downloadTaskWithRequest: progress: destination: completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error)方法,该方法适用于未经修改的文件。但是,如果服务器响应为304,则在completionHandler块中似乎没有有效的filePath,而error表示"请求失败:未修改(304)"。

我尝试将AFURLSessionManager的requestCachePolicy配置为NSURLRequestReloadIgnoringLocalAndRemoteCacheData,但这没有帮助:虽然设置了filePath,但无法从此文件路径重建数据。

有人可以通过指定AFNetworking和服务器响应304下载文件的最佳做法来帮助我。提前感谢!

1 个答案:

答案 0 :(得分:0)

没关系我发现了问题。我不必设置NSURLSessionConfiguration的requestCachePolicy。我总是将IF_MODIFIED_SINCE_HEADER添加到downloadTaskWithRequest:的请求参数中。省略这一点,它有效。