Ios ASIFormDataRequest上载进度不准确
Iam使用ASIFormDataRequest进行上传和下载。 下载进度非常准确,下载完成后就完成了,但即使上传还没有完成,上传进度也会从0快速跳到1。下面是上传请求和下载请求 上传请求:Ios ASIFormDataRequest上载进度不准确,ios,asihttprequest,progress,uiprogressview,asiformdatarequest,Ios,Asihttprequest,Progress,Uiprogressview,Asiformdatarequest,Iam使用ASIFormDataRequest进行上传和下载。 下载进度非常准确,下载完成后就完成了,但即使上传还没有完成,上传进度也会从0快速跳到1。下面是上传请求和下载请求 上传请求: uploadRequest = [[ASIFormDataRequest alloc]initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/ImageBUP.aspx",ZsafeapiURL]] :@"POST"];
uploadRequest = [[ASIFormDataRequest alloc]initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/ImageBUP.aspx",ZsafeapiURL]] :@"POST"];
[uploadRequest setTag:i];
[uploadRequest setDelegate:self];
[uploadRequest setPostFormat:ASIMultipartFormDataPostFormat];
[uploadRequest setUploadProgressDelegate:[self.progressBarArray objectAtIndex:i]];
[uploadRequest setShowAccurateProgress:YES];
[uploadRequest setData:[[self.dataToUpload objectAtIndex:i]valueForKey:@"data"] forKey:nil] ;
[uploadRequest addRequestHeader:@"UserID" value:[[NSUserDefaults standardUserDefaults] objectForKey:@"userID"]];
[uploadRequest addRequestHeader:@"Handsettype" value:@"3"];
[uploadRequest addRequestHeader:@"ImageName" value:imageName];
[uploadRequest addRequestHeader:@"ImagePath" value:@"0"];
[uploadRequest addRequestHeader:@"Desc" value:[[NSUserDefaults standardUserDefaults] objectForKey:@"platform"]];
[uploadRequest addRequestHeader:@"Extension" value:[[self.dataToUpload objectAtIndex:i]valueForKey:@"extension"]];
[uploadRequest addRequestHeader:@"Size" value:[[self.dataToUpload objectAtIndex:i]valueForKey:@"sizeInByte"]];
[uploadRequest setShouldContinueWhenAppEntersBackground:YES];
[uploadRequest setTimeOutSeconds:500];
[myQueue addOperation:uploadRequest];
Download request:
NSString *videoURL=[[self.dataToUpload objectAtIndex:i]valueForKey:@"videoURL"];
NSString *videoOriginalName=[[self.dataToUpload objectAtIndex:i]valueForKey:@"name"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"/Videos"];
if (![[NSFileManager defaultManager] fileExistsAtPath:folderPath])
[[NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:NO attributes:nil error:nil];
NSString *videoPathInApp=[folderPath stringByAppendingPathComponent:videoOriginalName];
downloadRequest = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:videoURL] :@"GET"];
[downloadRequest setDelegate:self];
[downloadRequest setDownloadDestinationPath:videoPathInApp];
[downloadRequest setDownloadProgressDelegate:[self.progressBarArray objectAtIndex:i]];
[downloadRequest setTag:i];
[downloadRequest setShowAccurateProgress:YES];
[myQueue addOperation:downloadRequest];
我遗漏了什么吗 您知道ASIHttpRequest已被弃用,不再由其开发人员维护。而且它在iOS 7和更高版本中也有已知的bug。我想强调的是,你应该换到另一个网络库。你是说afnetworking?afnetworking是我个人的选择,但还有其他选择。谢谢你,我会试试的