0
我需要同時打上百個請求才能上傳文件。我正在使用AFNetworking,我只是從for循環中調用一個方法。但它在一些文件中給我內部服務器錯誤。服務器端沒有任何東西。該過程從Web成功執行。使用AFNetworking同時打出數百個請求
這裏是我的代碼:
for (UIImage *img in imgages) {
[self uploadImage:img];
}
-(void) uploadImage:(UIImage *)image
{
// NSDictionary *[email protected]{x:x }
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:someData
options:0
error:nil];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:[BASE_URL stringByAppendingString:@"xyz.com"] parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFormData:jsonData name:@"abc"];
if (imgData) {
[formData appendPartWithFormData:imgData name:@"file"];
}
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSURLSessionUploadTask *uploadTask;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
uploadTask = [manager
uploadTaskWithStreamedRequest:request
progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
}];
[uploadTask resume];
}
什麼是實現上述功能的最佳方式?
您收到的具體錯誤是什麼? iOS具有每個主機的併發請求限制,但如果這是您遇到的情況,您將會從超出的請求中獲取超時。 – Avi
嘗試使用'dispatch_apply'而不是fo-loop – Enix
@Vikas請接受答案,如果它的工作 –