iOS не загружает музыкальный файл на мой сервер - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь загрузить файл со своего устройства iOS на мой веб-сервер IIS (Windows Server Web 2008), но по какой-то причине он не получает запрос, если добавленный файл больше определенного размера (кажется, около 10 МБ) ).

Я задал еще пару вопросов по этому вопросу и нашел много ответов на них. У меня все еще есть проблема с большими файлами, которые не отправляются. Предыдущая кепка была на 2 МБ, сейчас она где-то около 10 МБ или около того. Все настройки в php, которые могут иметь какое-либо отношение к этому, были установлены либо на 500 МБ, либо на 6000 секунд. Для параметра maxRequestBuffer для IIS также установлено значение 500 МБ, и проблема не должна быть.

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

Мой код Objective-c выглядит так:

NSString *theUrl = @"myserverurl";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:theUrl]];

[request setNumberOfTimesToRetryOnTimeout:2];
[request setShouldContinueWhenAppEntersBackground:YES];

NSTimeInterval timeOutSecs = 60000;
[request setTimeOutSeconds:timeOutSecs];

//[request setUploadProgressDelegate:(id)];

[request setFile:[soundFileURL path] forKey:@"mainfile"];
[request startSynchronous];

Если бы кто-нибудь мог сказать мне, что здесь происходит, это бы мне очень помогло! Я не мог найти какие-либо методы, позволяющие отправлять файлы большего размера, поэтому любая помощь по этому вопросу была бы отличной! :)

Спасибо заранее !!

EDIT

После некоторого тестирования кажется, что 11.1 МБ (5 минут и 48 секунд звука) - это максимум. Если значение будет больше, это приведет к неудачной загрузке.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

Чтобы найти журналы в IIS Откройте диспетчер IIS Нажмите на веб-сайт (не виртуальный каталог), на котором находится ваш сайт.В Windows 2008 у вас будет IIS 7.0 или 7.5, поэтому вы должны увидеть опцию «Ведение журнала» в группе IIS. В разделе «Ведение журнала» есть опция «Каталог», которая представляет собой путь к журналам

Если в журнале недостаточно информации, выберите другие типы журналов или увеличьте количество выводимых полей.Возможно, вам придется прочитать справку, чтобы получить объяснение различных полей.

0 голосов
/ 13 июля 2011

Две основные области для проверки:

  1. На веб-сервере проверьте журналы.
  2. На клиенте я никогда не использовал ASI синхронно, но если вы переключитесь наasync, вы можете реализовать метод делегата -requestFailed: и проанализировать этот объект ошибки в отладчике.(См. how-to )

Также посмотрите заголовки HTTP-запроса / ответа и посмотрите, не появляется ли что-нибудь интересное.HTTP Scoop - полезный инструмент для этого, если вы готовы расстаться с 15 $.(Я не связан с авторами HTTP Scoop.)

Также проверьте все межсетевые экраны, фильтры, антивирусное программное обеспечение и т. Д. Между клиентом и сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...