iOS 七牛断点续传里面的参数是什么意思

- (void)template:(int)***size*** pos:(float)***pos*** {
    NSURL *tempFile = [QNTempFile createTempfileWithSize:size * 1024];
    NSString *keyUp = [NSString stringWithFormat:@"r-%dk", size];
    __block NSString *key = nil;
    __block QNResponseInfo *info = nil;
    __block BOOL flag = NO;
    QNUploadOption *opt = [[QNUploadOption alloc] initWithMime:nil progressHandler: ^(NSString *key, float percent) {
        if (percent >= pos) {
            flag = YES;
        }
        NSLog(@"progress %f", percent);
    } params:nil checkCrc:NO cancellationSignal: ^BOOL () {
        return flag;
    }];
    [_upManager putFile:tempFile.path key:keyUp token:g_token complete: ^(QNResponseInfo *i, NSString *k, NSDictionary *resp) {
        key = k;
        info = i;
    } option:opt];
    AGWW_WAIT_WHILE(key == nil, 60 * 30);
    NSLog(@"info %@", info);
    XCTAssert(info.statusCode == kQNRequestCancelled, @"Pass");
    XCTAssert([keyUp isEqualToString:key], @"Pass");

    // continue
    key = nil;
    info = nil;
    __block BOOL failed = NO;
    opt = [[QNUploadOption alloc] initWithMime:nil progressHandler: ^(NSString *key, float percent) {
        if (percent < pos - kQNChunkSize / (size * 1024.0)) {
            failed = YES;
        }
        NSLog(@"continue progress %f", percent);
    } params:nil checkCrc:NO cancellationSignal:nil];
    [_upManager putFile:tempFile.path key:keyUp token:g_token complete: ^(QNResponseInfo *i, NSString *k, NSDictionary *resp) {
        key = k;
        info = i;
    } option:opt];
    AGWW_WAIT_WHILE(key == nil, 60 * 30);
    NSLog(@"info %@", info);
    XCTAssert(info.isOK, @"Pass");
    XCTAssert(!failed, @"Pass");
    XCTAssert([keyUp isEqualToString:key], @"Pass");
    [QNTempFile removeTempfile:tempFile];
}
阅读 3.9k
2 个回答
推荐问题