ios — Как загрузить большое видео на сервер (php) с помощью AFNetworking 3.0 (Obj-C)

Я пытаюсь создать простую задачу загрузки видео, используя AFNetworking 3.0. Я знаю, как загружать видео меньшего размера, и мне нужно иметь возможность загружать (потоковое воспроизведение) большие файлы (более длинные видео) Ниже приведен код, который я использую для загрузки в настоящее время. Кроме того, я использую PHP на стороне сервера, нужны ли какие-то особые изменения?

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:[NSString stringWithFormat:@"http://v.afrazsiddiqui.com/?cmd=post&id=%@",[UDM returnValueforkey:@"userid"]] parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:self.videoURL name:@"file" fileName:@"filename.mov" mimeType:@"video/quicktime" error:nil];
} error:nil];AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSURLSessionUploadTask *uploadTask;
uploadTask = [manager
uploadTaskWithStreamedRequest:request
progress:^(NSProgress * _Nonnull uploadProgress) {
dispatch_async(dispatch_get_main_queue(), ^{
CGFloat done = self.view.frame.size.width*uploadProgress.fractionCompleted;
[self updateProgressWithPercentage:done];
});
}
completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
if (error) {
errorUploading=YES;
}
else {
JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"%@",JSON);
if ([[JSON valueForKey:@"Success"] isEqualToString:@"true"]) {
[self reloadProfile];
}
else if ([[JSON valueForKey:@"Error"] isEqualToString:@"Upload"]) {
if (!errorUploading) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Vlog Error" message:@"An error occurred when trying to post your vlog." delegate:self cancelButtonTitle:@"No, Thanks" otherButtonTitles:@"Retry", nil];
[alert show];
}
}
}
}];
[uploadTask resume];

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector