aws.s3 icon indicating copy to clipboard operation
aws.s3 copied to clipboard

progress reaches 1.00 but completion block called after 1 minute

Open expkzb opened this issue 6 years ago • 0 comments

Uploading a wav file with multipart upload task. The larger the file the longer it will take from reaching 100% to calling completion block.

More precisely, the progress reaches 1.00 twice. The second one is the REAL completed one.

2019-07-21 17:04:04.147453+0800 KSPublicCloudUploadHelper[17529:107629] 0.992066
2019-07-21 17:04:04.147564+0800 KSPublicCloudUploadHelper[17529:107630] 0.993058
2019-07-21 17:04:04.147657+0800 KSPublicCloudUploadHelper[17529:107629] 0.994049
2019-07-21 17:04:04.147944+0800 KSPublicCloudUploadHelper[17529:107629] 0.995041
2019-07-21 17:04:04.148332+0800 KSPublicCloudUploadHelper[17529:107631] 0.996033
2019-07-21 17:04:04.148436+0800 KSPublicCloudUploadHelper[17529:107630] 0.997025
2019-07-21 17:04:04.148907+0800 KSPublicCloudUploadHelper[17529:107630] 0.998016
2019-07-21 17:04:04.149274+0800 KSPublicCloudUploadHelper[17529:107629] 0.999008
2019-07-21 17:04:04.149394+0800 KSPublicCloudUploadHelper[17529:107631] 1.000000
2019-07-21 17:04:10.198093+0800 KSPublicCloudUploadHelper[17529:107630] 1.000000
2019-07-21 17:04:10.202289+0800 KSPublicCloudUploadHelper[17529:107630] p4/attachment/551c6c0d506223960d7c6156fd555149.wav
AWSS3TransferUtilityMultiPartUploadExpression *expression = [[AWSS3TransferUtilityMultiPartUploadExpression alloc] init];
    expression.progressBlock = ^(AWSS3TransferUtilityMultiPartUploadTask * _Nonnull task, NSProgress * _Nonnull progress) {
        updateProgress(progress);
    };
    
AWSTask<AWSS3TransferUtilityMultiPartUploadTask *> *task =
    [[[AWSS3TransferUtility defaultS3TransferUtility] uploadDataUsingMultiPart:fileData
                                                                        bucket:bucketName
                                                                           key:objectKey
                                                                   contentType:@"application/octet-stream"
                                                                    expression:expression
                                                             completionHandler:^(AWSS3TransferUtilityMultiPartUploadTask * _Nonnull task, NSError * _Nullable error) {
                                                                 complete(task, error);
                                                             }] continueWithBlock:^id _Nullable(AWSTask<AWSS3TransferUtilityMultiPartUploadTask *> * _Nonnull t) {
                                                                 if (t.error) {
                                                                     NSLog(@"%@", t.error);
                                                                 }
                                                                 return nil;
                                                             }];
    
return task;

expkzb avatar Jul 21 '19 09:07 expkzb