0

ユーザーがサウンドを録音してサーバーに送信できるアプリを作成しています。最初の部分は完全に機能します。音を録音して再生できます。ただし、問題は、この録音の結果である wav ファイルをサーバーにアップロードしようとすると、2 分を超えるものは受け入れられず、数秒 (約 2 MB) の小さなファイルが送信され、正しく処理されます。それよりも大きいと、リクエストを送信してもファイルが添付されないか、ファイルを添付してもサーバーが読み取れません。最初のほうが可能性が高いように思えます。私の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.

どんな考えや解決策も大歓迎です!

4

2 に答える 2

1

PHP のアップロード制限は、いくつかの設定によって管理されます。

upload_max_filesize
memory_limit
post_max_size

また、Apache のLimitRequestBodyのように、PHP よりもずっと前に開始できる Web サーバーの制限もあります。

于 2011-07-11T14:42:19.263 に答える
1

おそらく非同期転送を使用したいでしょう。次に、ロギングまたは UIProgressBar を ASIFormDataRequest の progressDelegate プロパティにフックして、ASI がアップロードの進行状況を報告できるようにします。これにより、アプリ側からデータが流出しているかどうかを確認できます。

ただし、サーバーの「最大アップロードサイズ」構成に違反していると思われます。これをあなたが書いたコードに送信していますか?私は主にサーバー側で PHP を使用していますが、php.ini ファイルで指定された特定のサイズを超えると、それは単なる barfs です。

于 2011-07-11T14:18:42.143 に答える