2011-05-14 3 views
2

Я использую ASIFormDataRequest для отправки данных multipart POST на сервер с nginx + php-fpm.ASIFormDataRequest пустой POST-запрос

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:sessionKey forKey:@"session"]; 
[request setPostValue:secret forKey:@"secret"]; 
[request setPostValue:@"test" forKey:@"description"]; 
[request setFile:filePath forKey:@"image"]; 
[request setTimeOutSeconds:120]; 
[request setDelegate:self]; 
[request startAsynchronous]; 

Однако, раз в то время (происходит очень случайно, трудно воспроизвести) пустой запрос достигает сервера, я использую тот же файл для всех тестов. ASIHTTPRequest peforms requestFinished, как и все в порядке.

Не возникло ошибок на стороне сервера, я проверил журналы.

У кого-нибудь была эта проблема раньше?

+0

Обновлен свой ASIHTTPRequest последней? Попробовал вручную загрузить файл, а затем отправил NSData на сервер? –

ответ

7

У меня была эта проблема слишком раньше сегодня. Это как-то связано с поведением nginx о том, как повторно использовать соединение. Простое исправление просто добавьте следующие строки в процедуре запроса:

[request setShouldAttemptPersistentConnection:NO]; 

Этот вариант также был установлен в NO по умолчанию в новой сборке ASIHTTPRequest. Подробнее об этом на Github:

Stop using persisted connections on POST/PUT

+0

Он работает! Спасибо огромное! – romaonthego

+0

Спасибо! Это беспокоило меня когда-нибудь. – Cyprian

Смежные вопросы