iOS не может загрузить локальный файл wav на мой сервер

Я делаю приложение, с помощью которого пользователь может записывать звук и отправлять его на мой сервер. Первая часть работает идеально. Я могу записать и воспроизвести звук. Однако проблема заключается в том, что когда я пытаюсь загрузить wav-файл, являющийся результатом этой записи, на мой сервер, он не принимает ничего, что длиннее 2 минут и нескольких секунд (около 2 МБ), отправляются файлы меньшего размера и обрабатываются правильно. Любое значение больше этого приводит к отправке запроса, но не приложению файла, или приложению файла, но сервер не может его прочитать. Первое мне кажется более вероятным. Мой код Objective-c выглядит следующим образом:

КОД OBJECTIVE-C

NSString *theUrl = @"http://www.myserver.nl";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:theUrl]];

[request setFile:[soundFileURL path] forKey:@"mainfile"]; //The file gets added
[request startSynchronous]; //Request is being sent.

Любые мысли или решения будут очень признательны!


person Manuel    schedule 11.07.2011    source источник


Ответы (2)


Ограничения загрузки PHP регулируются несколькими настройками:

upload_max_filesize
memory_limit
post_max_size

Существуют также ограничения веб-сервера, такие как LimitRequestBody Apache, которые могут задолго до того, как это сделает PHP.

person Marc B    schedule 11.07.2011

Вероятно, вы захотите использовать асинхронную передачу. Затем вы можете подключить некоторые журналы или UIProgressBar к свойству ASIFormDataRequest progressDelegate, чтобы ASI мог сообщать о ходе загрузки, чтобы вы могли видеть, не выходит ли он из приложения.

Однако я подозреваю, что вы нарушаете конфигурацию «максимального размера загрузки» на сервере. Вы отправляете это коду, который вы написали? Я использую PHP в основном на стороне сервера, и я знаю, что за пределами определенного размера, указанного в файле php.ini, он просто блюет.

person Dan Ray    schedule 11.07.2011
comment
Максимальный размер загрузки исправил это, глупо с моей стороны не думать об этом ... Извините за хромой вопрос и спасибо за быстрый ответ! :) - person Manuel; 11.07.2011
comment
На самом деле ответ, который дал Марк Б, является «более правильным», поскольку post_max_size и memory_limit также должны были быть увеличены. Я дам ему лучший ответ :) - person Manuel; 11.07.2011
comment
@dragon112 Фииииин! ;-) Я по-прежнему рекомендую асинхронные соединения, и не только потому, что вы можете отслеживать их прогресс. - person Dan Ray; 11.07.2011
comment
Я знаю, я планирую изменить его на асинхронный. Это просто тест :) - person Manuel; 12.07.2011