使用AFKNetworking iOS上传后文件损坏

时间:2014-07-31 12:52:02

标签: php ios apache

美好的一天伙计们,

这是我第一次使用AFKNetworking将我的iOS应用程序中的文件发布到我们的服务器上。我从一些测试人员那里得到一个随机损坏的文件。当我检查错误日志时,我得到了AFKNetworking -1001错误“请求超时”。我检查并修改了PHP.ini和httpd.conf以扩展超时和maxrequestcount以允许我的应用程序有更长的上传过程但不幸的是我仍然随机地收到此错误。

请有人帮我解决这个问题吗?

提前致谢:)

修改 这是代码片段      NSMutableDictionary * params = [[NSMutableDictionary alloc] init];

[params setObject:@"*****" forKey:@"******"];
 /*
    code that populates params...
 */
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:[pdl getApplicationBridgeUploadDirURL] parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
   /*
           code that handles the files
  */
} error:nil];

NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.timeoutIntervalForRequest = 500000;

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:sessionConfiguration];

//manage queue
NSOperationQueue *operationQueue = manager.operationQueue;


NSProgress *progress = nil;

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    if (error) {
        NSLog(@"Error*****************************");
        NSLog(@"%@", error);
        NSLog(@"Error*****************************");
    } else {
        NSLog(@"***********************************");
        NSLog(@"%@ %@", response, responseObject);
        NSLog(@"***********************************");
    }
    [progress removeObserver:self forKeyPath:@"fractionCompleted" context:NULL];
}];

[progress addObserver:self
           forKeyPath:@"fractionCompleted"
              options:NSKeyValueObservingOptionNew
              context:NULL];

[uploadTask resume];

0 个答案:

没有答案