2011-07-11 83 views
0

我正在製作一個應用程序,用戶可以使用該應用程序錄制聲音並將其發送到我的服務器。第一部分完美地工作。我可以錄製和播放聲音。然而問題是,當我嘗試上傳這個錄製結果的wav文件到我的服務器時,它不會接受任何超過2分鐘的內容,並且幾秒鐘(約2 MB)的小文件被髮送並且正確處理。任何大於此的結果都會導致發送請求但不附加文件,或附加文件,但服務器無法讀取它。第一個對我來說似乎更可能。我的Objective-C代碼如下:iOS無法將本地wav文件上傳到我的服務器

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. 

任何想法或解決方案將不勝感激!

回答

1

您可能想要使用異步傳輸。然後,您可以將某些日誌記錄或UIProgressBar掛鉤到ASIFormDataRequest的progressDelegate屬性,以便ASI可以報告其上傳進度,以便您可以查看它是否從應用程序端發出。

但是,我的懷疑是,您正在與服務器上的「最大上傳大小」配置發生衝突。你是否將此發送給你寫的代碼?我主要在服務器端使用PHP,並且我知道超出了php.ini文件中指定的特定大小,它只是barfs。

+1

最大上傳大小固定它,愚蠢的我沒有想到...對不起,跛腳的問題,並感謝您的快速回復! :) – Manuel

+0

實際上Marc B給出的回覆是'更正確',因爲post_max_size和memory_limit必須增加。我會給他最好的答案:) – Manuel

+0

@ dragon112 * Fiiiiiine *! ;-)我仍然推薦異步連接,不僅因爲你可以監視它們的進展。 –

相關問題