|
@@ -197,7 +197,8 @@
|
|
|
|
|
|
long long endOfFile = [fileHandle seekToEndOfFile];
|
|
|
|
|
|
- if(self.curUploadFileDataMod.totalBytes == 0){//异常处理
|
|
|
+ if(self.curUploadFileDataMod.totalBytes == 0
|
|
|
+ || self.curUploadFileDataMod.totalBytes < endOfFile){//异常处理
|
|
|
self.curUploadFileDataMod.totalBytes = endOfFile;
|
|
|
}
|
|
|
|
|
@@ -261,8 +262,36 @@
|
|
|
fileLengthNum = data[@"fileLenth"];
|
|
|
}
|
|
|
|
|
|
- self.curUploadPostion = [fileLengthNum longValue];
|
|
|
- [self handleUploadingFun:fileLengthNum];
|
|
|
+ if (fileLengthNum && fileLengthNum.longLongValue >= self.curUploadFileDataMod.totalBytes)
|
|
|
+ {//
|
|
|
+ //告诉代理 完成了
|
|
|
+ NSString *commandStr = [RCCommandHelp uploadOrBackupsDoneBy:self.taskUid withFileName:self.fileName withType:YES];
|
|
|
+
|
|
|
+ [self.commandChannelManager rc_sendData:commandStr];
|
|
|
+
|
|
|
+ [self clearUploadFileDataFun];
|
|
|
+ [[uploadFileManager shareInstance] uploadFileDoneFun];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ //异常处理
|
|
|
+ if([fileLengthNum longValue] - self.curUploadPostion > EachPieceSzie){
|
|
|
+ HLog(@"发现上传后返回的长度 出错");
|
|
|
+
|
|
|
+ if(self.curUploadFileDataMod.curUploadFileType == uploadFileTypeVideo)
|
|
|
+ {//清除已经取出来的数据 后面会根据fileLengthNum 重新拿数据
|
|
|
+ self.cutFileDataArr = [NSMutableArray new];
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ NSInteger curIndex = [fileLengthNum longValue] % EachPieceSzie;
|
|
|
+ //把当前的上传位置指定已经上传的前一片,后续++
|
|
|
+ self.indexOfUploadFlie = curIndex -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ self.curUploadPostion = [fileLengthNum longValue];
|
|
|
+ [self handleUploadingFun:fileLengthNum];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else if ([status isEqualToString:@"2"]) {
|
|
|
[self clearUploadFileDataFun];
|
|
@@ -372,7 +401,8 @@
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if(self.indexOfUploadFlie < self.cutFileDataArr.count -1) {
|
|
|
+ if(self.cutFileDataArr.count > 0
|
|
|
+ && self.indexOfUploadFlie < (self.cutFileDataArr.count -1)) {
|
|
|
|
|
|
//NSInteger didUploadSize = (self.indexOfUploadFlie+1) * (self.cutFileEachPieceSzie);
|
|
|
NSInteger didUploadSize = fileLengthNum.longLongValue;
|