0

我正在将我的项目从 RestKit 0.10 升级到 0.20.2。顺利完成。现在我需要从 URL 下载一个 zip 文件并解压缩它。我在 RestKit 中找不到任何方法来做到这一点。任何人都可以知道这件事。

谢谢

4

2 回答 2

2

Restkit 0.2 使用 AFNetworking。在项目中配置 Restkit 后,您还可以使用 AFNetworking。因此,您可以像这样下载文件:

- (void)downloadWithOutputPath:(NSString *)aPath progress:(void(^)(NSUInteger, long long , long long ))onProgress success:(void (^)(id<Attachment>))onSuccess error:(void (^)(NSError *))onError
{

    NSURLRequest *request = [NSURLRequest requestWithURL:self.url];
    AFHTTPRequestOperation *operation = [self.client HTTPRequestOperationWithRequest:request
                                                                        success:^(AFHTTPRequestOperation *operation, id responseObject) {

                                                                            NSURL *url = [NSURL fileURLWithPath:aPath];
                                                                            NSError *error;
                                                                            [self skipBackupForURL:url error:&error];
                                                                            onSuccess(self);

                                                                        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                                            onError(error);
                                                                        }];
    [operation setDownloadProgressBlock:onProgress];

    operation.outputStream = [NSOutputStream outputStreamToFileAtPath:aPath
                                                               append:NO];
    [operation start];
}

另请注意,您必须将下载的文件标记为从备份中排除。

- (void)skipBackupForURL:(NSURL *)anURL error:(NSError **)anError
{
    [anURL setResourceValue:[NSNumber numberWithBool:YES]
                             forKey:NSURLIsExcludedFromBackupKey error:anError];
}

对于解压缩文件,我们使用https://github.com/soffes/ssziparchive

于 2013-09-19T07:52:36.570 回答
2

来自 RestKit:Reskit 链接

“RestKit 提供了一个强大的对象映射引擎,它与 Core Data 和一组简单的网络原语无缝集成,用于映射构建在 AFNetworking 之上的 HTTP 请求和响应。”

对于下载,您可以使用 AFNetworking AFNetworking 链接 对于解压缩,您可以使用 zipArchive 女巫非常好。zip存档

于 2013-09-19T07:00:58.377 回答