Загрузка большого видео с iphone на веб-сервер

Я пытаюсь загрузить большое видео с iphone на веб-сервер с php-скриптом.

Я использую NSInputStream для получения фрагментов видеофайлов, и я создаю запрос (POST) на каждом обходе

 - (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode 

метод с данными чтения, переданными как параметр.

Вот код, который я использую, чтобы получить куски данных

 - (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode { switch(eventCode) { case NSStreamEventHasBytesAvailable: { NSMutableData *dataSlice; uint8_t buf[1048576]; unsigned int len = 0; len = [(NSInputStream *)stream read:buf maxLength:1048576]; if(len) { dataSlice = [NSMutableData dataWithBytes:(const void *)buf length:len]; NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:folderNameForUpload, kFolderName, @"abcd.MOV", kFileName, @"MOV", kFileType, nil]; MKNetworkOperation *op = [self.networkEngine operationWithPath:@"upload.php" params:params httpMethod:@"POST"]; [op addData:dataSlice forKey: @"file" mimeType: @"image/mov" fileName: @"abcd"]; [op onCompletion:^(MKNetworkOperation *completedOperation) { } onError:^(NSError *error) { }]; [[WebRequest sharedInstance].networkEngine enqueueOperation: op]; } else { NSLog(@"NO MORE BUFFER!"); } break; } case NSStreamEventEndEncountered: { [stream close]; [stream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [stream release]; stream = nil; break; } } } 

Он отправляет данные на сервер, и я могу записать куски в файл. Но проблема в том, что если есть более одного фрагмента, файл будет поврежден, и я не смогу открыть видеофайл.

Я проверил размер файла как на сервере, так и на клиенте, и оба они точно такие же.

Ниже приведен скрипт php, который я использую для объединения фрагментов видеофайлов.

  $tmp_file = $_FILES['file']['tmp_name']; $write_handle = fopen($fileURL, "ab+"); $read_handle = fopen($tmp_file, "rb"); $contents = fread($read_handle, filesize($tmp_file)); fwrite($write_handle, $contents); fclose($write_handle); fclose($read_handle); 

Что я здесь делаю неправильно? Пожалуйста, помогите!

Я застрял над этой проблемой !!

Заранее спасибо,

Сураджа

One Solution collect form web for “Загрузка большого видео с iphone на веб-сервер”

У меня проблемы с парнем. На самом деле, я отправлял разные куски видео одновременно. И проблема возникла из-за того, что более поздние фрагменты видео достигли сервера до первого фрагмента видео.

Я решил проблему, отправив второй кусок видео только после того, как первый кусок достигнут веб-сервера, и ответ получен на стороне клиента.

  • iCalendar .ics принять / отклонить iOS
  • Отправка запроса POST локальному хосту, данные, полученные, но не отображающиеся на веб-странице
  • Не удалось загрузить изображение на сервер ios
  • ORDER BY random () с семенем в SQLITE
  • Не удается проверить открытый ключ openssl
  • iOS Отправить данные JSON в запросе POST с использованием NSJSONSerialization
  • как правильно отправлять push-уведомления
  • Почему загруженное изображение не отображается правильно?
  • POST с быстрым и API
  • Emoji для кодирования JSON, сообщение на веб-сервер
  • Какой тип webservice лучше всего работает с iOS?
  • Interesting Posts

    Как назначить пространство для переменных @property

    Кто-нибудь знает о сторонней структуре iOS для управления такими документами, как «Бумага»?

    UIWebView просачивается при отображении больших PDF-файлов на iPad

    branch.io перенаправляет на пустой контент в приложении, если приложение не работает в фоновом режиме

    Отрегулируйте UIPopover, когда клавиатура iPad разбивается

    Скрыть UIPageControl UIPageControlViewController на определенный индекс страницы

    Попробовать Catch не работает

    Рисование кругового градиента

    Внедрите систему, аналогичную тому, как UITableView деактивирует ячейки, уже созданные

    «Нажмите и удерживайте» анимацию без NSTimer

    Как сделать заголовок простого UITableView Scroll с таблицей

    Необходимо выполнить цикл через NSMutableArray, который хранится внутри массива в базе данных Parse.com

    Плагин с заставкой из плагинов

    Xcode ссылается на старые рамки

    Характеристика CoreBluetooth

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.