2

我正在使用 AFNetworking 下载一个大文件。这是我的代码。它工作正常:

- (AFDownloadRequestOperation*)downloadBigFile:(BigFileObject*)bigFile
                             withCompleteBlock:(AFResultCompleteBlock)completeBlock
                                    errorBlock:(AFResultErrorBlock)errorBlock{

    NSString *name = [NSString stringWithFormat:@"%@", bigFile.name];
    NSString *link = [NSString stringWithFormat:@"%@", bigFile.link];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:link]];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4", name]];

    AFDownloadRequestOperation *operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        completeBlock(responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        errorBlock(error);
    }];


    [operation setProgressiveDownloadProgressBlock:^(AFDownloadRequestOperation *operation, NSInteger bytesRead, long long totalBytesRead, long long totalBytesExpected, long long totalBytesReadForFile, long long totalBytesExpectedToReadForFile) {
        float progress = (float)totalBytesReadForFile / totalBytesExpectedToReadForFile;
        //block
        self.progressBlock(progress, totalBytesReadForFile, totalBytesExpectedToReadForFile);
    }];
    [operation start];

    return operation;
}

一个文件正在下载到本地但未完成,以完成30%为例。然后停止它。几天后,我恢复了它,但那个链接没有上线。所以,我请求一个新链接,我想从 30% 下载。怎么做?我的应用是针对 iOS 6+ 的;

4

0 回答 0