2013-05-16 88 views
1

我正在使用進度條顯示文件上傳到ftpserver的上傳百分比,第一次更新的很好,當我取消上傳時,並且再次啓動該ID。對於上傳進度條的50%正在填充,第三次爲25%總進度條正在填充。progressBar moving irrevently

這裏是代碼(我使用s7ftp類上傳到服務器)

- (void)uploadBytesWritten:(S7FTPRequest *)request { 


if (uploadedData < totalFileSize) { 
    uploadedData = uploadedData + request.bytesWritten; 
} 
float total = (float)totalFileSize; 
float bytes = (float)request.bytesWritten; 
float pt = (bytes/total); 
float totalSizeMb = (total/1048576); 
// NSLog(@"File Size in Mb:%f",totalSizeMb); 
float uploadDataMb = (uploadedData/1048576); 
NSString* totalSize = [NSString stringWithFormat: @"%5.1f", totalSizeMb]; 
NSString* uploadData = [NSString stringWithFormat: @"%5.1f", uploadDataMb]; 
// float str = (uploadDataMb/totalSizeMb); 
float str = (uploadedData/total); 
float string = str*100; 
int PercentageFinal = roundf(string); 
NSString *uploadPercentage = [NSString stringWithFormat:@"%d",PercentageFinal]; 
uploadpercentage = [NSString stringWithFormat:@"%@Mb/%@Mb", uploadData, totalSize]; 
NSLog(@"Uploading percentage:%@",uploadpercentage); 
NSString *percentage = [NSString stringWithFormat:@"%f",pt]; 
uploadProgressView.progress += [percentage doubleValue]; 
[[NSNotificationCenter defaultCenter] postNotificationName:@"UpdatePercentageNotification" object:nil userInfo:[[NSDictionary alloc] initWithObjectsAndKeys:percentage, @"percentage",uploadpercentage,@"UploadPercentage",uploadPercentage,@"Percent",nil]]; 

} 

另一類

-(void)Viewdidload{ 
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updatePercentageNotificationOne:) name:@"UpdatePercentageNotification" object:nil]; 
    } 

- (void)updatePercentageNotificationOne:(NSNotification *)notification{ 
NSLog(@"Updating percentage in upload all view"); 
// NSString *uploadpercentage = [[notification userInfo ]objectForKey:@"UploadPercentage"]; 
// NSLog(@"Percentage:%@",uploadpercentage); 
NSString *percent= [[notification userInfo]objectForKey:@"Percent"]; 
NSLog(@"percent:%@",percent); 
NSString *percentage = [[notification userInfo] objectForKey:@"percentage"]; 
// NSLog(@"Percentage......%@",percentage); 
percentageLabel.text = percent; 
ProgressBar.progress +=[percentage doubleValue]; 
[[NSNotificationCenter defaultCenter] removeObserver:@"UpdatePercentageNotification"]; 

} 
+0

你在哪裏分配init進度條 – Durgaprasad

+0

在視圖didload – KMKR

回答

0

ķ 當你開始重新上傳進度需要重置。您只需在用戶上傳時分配init即可。

+0

試過那一個也。 – KMKR

+0

然後可能會有一些其他值,如totalFileSize,uploadedData沒有正確啓動。 – Durgaprasad