我正在開發一個應用程序。其中需要在服務器上上傳超過100張圖片。對於那些使用IMA這裏AFNetworking是我的代碼`無法使用AFNetworking上傳超過10個文件
AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://myserver/upload_video.php"]];
NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:@"saveMediaVideo", @"methodName",userID,@"user_id",[NSString stringWithFormat:@"%d",[imageArray count]],@"img_count",@"480.0000",@"img_height" , nil];
NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"http://myserver/upload_video.php" parameters:params constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
for (int i =0; i<[imageArray count]; i++) {
NSData *imageToUpload = UIImageJPEGRepresentation([imageArray objectAtIndex:i], 1.0);
[formData appendPartWithFileData: imageToUpload name:@"media[]" fileName:[NSString stringWithFormat:@"temp_%d.jpg",i] mimeType:@"image/jpeg"];
}
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *response = [operation responseString];
NSLog(@"response: [%@]",response);
[self performSelector:@selector(killHUD) withObject:@"Processing..."];
CustomAlertPopUp *alert = [[CustomAlertPopUp alloc]initWithHeaderText:@"Message" detailText:@"Spin uploaded on Server." buttonTitle:@"Ok" withTag:10 forTarget:self];
[alert showView:self.view];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self performSelector:@selector(killHUD) withObject:@"Processing..."];
if([operation.response statusCode] == 403){
NSLog(@"Upload Failed");
return;
}
NSLog(@"error: %@", [operation error]);
CustomAlertPopUp *alert = [[CustomAlertPopUp alloc]initWithHeaderText:@"Error" detailText:@"Error from server, Please try again." buttonTitle:@"Ok" withTag:0 forTarget:self];
[alert showView:self.view];
}];
[operation start];
`
在NSLog
我可以觀察整個過程
,
2013-02-15 19:15:37.755 MyProject[5815:907] Sent 6856280 of 6871277 bytes
2013-02-15 19:15:37.757 MyProject[5815:907] Sent 6859176 of 6871277 bytes
2013-02-15 19:15:37.759 MyProject[5815:907] Sent 6862072 of 6871277 bytes
2013-02-15 19:15:37.760 MyProject[5815:907] Sent 6864968 of 6871277 bytes
2013-02-15 19:15:37.762 MyProject[5815:907] Sent 6867864 of 6871277 bytes
2013-02-15 19:15:37.780 MyProject[5815:907] Sent 6871277 of 6871277 bytes
這意味着過程完整地。但在服務器端,我只能獲得10張圖像。請指導我..爲什麼會發生這種情況。
是的,我正在使用apache ... – 2013-02-15 14:29:04
哦..沒關係 - 它的PHP設置,而不是apache ...我現在打出一個答案,可能會有所幫助... – Lix 2013-02-15 14:33:00