0

私は現在、.m4aをOracleデータベースにアップロードし、ファイルからメタデータを取得し、メタデータ情報をデータベースに保存するFileUpload.mxmlコンポーネントを持っています。

これを達成するために、私は FileReference() を使用し、とりわけ、dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); をセットアップします。

そのため、ファイルは blob として保存される php ファイルに投稿されます。BLOB が保存されると、スクリプトはメッセージを flex に送り返し、upload_complete_data イベントをディスパッチします。

次に、complete ハンドラーで、値をデータベースからカスタムメイドのメタデータ リーダーに読み取ることによって、メタデータを取得します。その後、メタデータ情報は flex を介して保存されます。

これは少し長くなりそうです。他の誰かが別の方法でこれを成功させましたか?

4

1 に答える 1

1

上記のコメントを具体化すると、LOADED_FILE というテーブルに BLOB (CONTENT という名前) があります。これをOrdAudioに変換し(抽出するプロパティであるため、setProperties フラグを true に設定)、メタデータのビットを抽出します。

select a.content.getAudioDuration( ) ,
       a.content.getCompressionType( ), 
       a.content.getEncoding( ) ,
       a.content.getMimeType( ), 
       a.content.getNumberOfChannels( ), 
       a.content.getSampleSize( ) ,
       a.content.getSamplingRate( )
from (select ordsys.ordaudio(content,1) content from loaded_files)  a;

適切なアプリでは、単純な blob ではなく OrdAudio として保存することになるでしょう。

于 2010-04-21T03:55:46.040 に答える