尽管收到 304 服务器响应,AFNetworking 仍在下载文件
Posted
技术标签:
【中文标题】尽管收到 304 服务器响应,AFNetworking 仍在下载文件【英文标题】:AFNetworking downloading a file despite getting 304 Server response 【发布时间】:2014-06-25 15:16:03 【问题描述】:所以我想从网络服务器下载一个文件,即使服务器响应是 304 Not Modified。
我使用 AFURLSessionManager 的 downloadTaskWithRequest: progress: destination: completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error)
方法,该方法适用于未修改的文件。但是,如果服务器响应为 304,则在 completionHandler 块中似乎没有有效的文件路径,error
显示“请求失败:未修改 (304)”。
我尝试将 AFURLSessionManager 的 requestCachePolicy 配置为 NSURLRequestReloadIgnoringLocalAndRemoteCacheData 但这无济于事:虽然设置了 filePath,但无法从此文件路径重建数据。
有人可以帮助我,具体说明下载带有 AFNetworking 和服务器响应 304 的文件的最佳做法。提前致谢!
【问题讨论】:
【参考方案1】:没关系,我发现了问题。我不必设置 NSURLSessionConfiguration 的 requestCachePolicy。我总是在downloadTaskWithRequest:
的请求参数中添加IF_MODIFIED_SINCE_HEADER。忽略这一点,它可以工作。
【讨论】:
以上是关于尽管收到 304 服务器响应,AFNetworking 仍在下载文件的主要内容,如果未能解决你的问题,请参考以下文章