@@ -465,7 +465,7 @@ - (void)uploadOffsetBodys:(NSArray<QCloudFileOffsetBody *> *)allParts {
465465 dispatch_resume (_queueSource);
466466 for (int i = 0 ; i < allParts.count ; i++) {
467467 __block QCloudFileOffsetBody *body = allParts[i];
468-
468+
469469 // 如果自身被取消,终止c创建新的uploadPartRequest
470470 if (self.canceled ) {
471471 QCloudLogDebug (@" 请求被取消,终止创建新的uploadPartRequest" );
@@ -488,19 +488,22 @@ - (void)uploadOffsetBodys:(NSArray<QCloudFileOffsetBody *> *)allParts {
488488 __weak typeof (request) weakRequest = request;
489489 __block int64_t partBytesSent = 0 ;
490490 int64_t partSize = body.sliceLength ;
491+ BOOL isRetry = request.isRetry ;
491492 [request setSendProcessBlock: ^(int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend) {
492- int64_t restSize = totalBytesExpectedToSend - partSize;
493- if (restSize - partBytesSent <= 0 ) {
494- [weakSelf appendUploadBytesSent: bytesSent];
495- } else {
496- partBytesSent += bytesSent;
493+ if (!request.enableQuic || !isRetry){
494+ int64_t restSize = totalBytesExpectedToSend - partSize;
497495 if (restSize - partBytesSent <= 0 ) {
498- [weakSelf appendUploadBytesSent: partBytesSent - restSize];
496+ [weakSelf appendUploadBytesSent: bytesSent];
497+ } else {
498+ partBytesSent += bytesSent;
499+ if (restSize - partBytesSent <= 0 ) {
500+ [weakSelf appendUploadBytesSent: partBytesSent - restSize];
501+ }
499502 }
500503 }
501504 }];
502505 [request setFinishBlock: ^(QCloudUploadPartResult *outputObject, NSError *error) {
503- QCloudLogInfo (@" 收到一个part %d 的响应 %@ " , (i + 1 ), outputObject.eTag );
506+ QCloudLogInfo (@" 收到一个part %d 的响应 %@ ;是否重试: " , (i + 1 ), outputObject.eTag , isRetry );
504507 if (!weakSelf) {
505508 return ;
506509 }
0 commit comments