0

現在、PhoneGap で実際に問題が発生しています。ここでやろうとしていることが不可能な場合、またはこれが完全に間違っている場合は、修正してください。

基本的に、ファイルをサーバーにアップロードする前にユーザーの声を録音するアプリを構築しています。問題なくファイルをサーバーに送信できましたが、データをデータベースに入れるときに役立ついくつかの追加パラメーターも渡したいと思います。

事実上、これは私が達成しようとしているプロセスです:

  1. ユーザーが音声を録音すると、音声ファイルにはランダムに生成された名前が割り当てられ、SD カードに保存されます。
  2. 次に、ファイルは一時ファイル名とともにサーバー上の PHP ファイルに転送されます。
  3. ファイルは、アップロードされたときと同じ名前で /upload ディレクトリに移動されます。
  4. サーバーは応答を Phonegap に送り返し、アップロードが完了したことをアプリケーションに通知します。
  5. 次に、アプリは DOM を使用してコンテンツを変更し、オーディオ プレーヤーをロードして最新のファイルを再生します (ファイルはアップロードされたときと同じ名前になるため、サーバーからのデータ応答は必要ありません。単なる通知です)。

AJAX と FileTransfer の両方の機能を一緒にマッシュアップしようとしました (毎回異なるデータで upload.php ファイルに 2 回アクセスしているため、明らかに機能しませんでした)。おそらく、ファイル転送メソッドからデータを渡す (およびサブ シーケンシャルに受信する) 方法、または jQuery AJAX を使用してファイルを渡す方法はありますか?

助けてくれてありがとう!

4

1 に答える 1

1

メソッドに成功と失敗のコールバック関数を添付する必要がありますFileTransfer.upload。こちらを参照してください: http://cordova.apache.org/docs/en/edge/cordova_file_file.md.html#FileTransfer

そのページの「簡単な例」では、win 関数は成功のコールバックです。関数 (たとえば、winファイルのアップロードが成功したときに呼び出される successCallback) で、コードを追加して DOM を変更し、オーディオ プレーヤーをスピンアップできます。ファイル名は変更されないため、そのファイル名を変数に格納するだけで済みます。

jquery-ajax がこれと何の関係があるのか​​ わかりません。

于 2013-05-15T19:03:00.223 に答える