在flex中上传一个m4a文件,将其保存为oracle中的blob,并从中检索元数据信息

时间:2010-04-20 05:55:28

标签: php flex oracle upload m4a

我目前有一个FileUpload.mxml组件,它将.m4a上传到oracle数据库,从文件中检索元数据并将元数据信息保存在数据库中。

实现这一点我使用FileReference()并设置其他人,dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,completeHandler);

因此文件被发布到一个php文件,将其保存为blob。保存blob后,脚本会将消息发送回flex以调度upload_complete_data事件。

在完整处理程序中,然后通过将数据库中的值读回到自定义元数据读取器中来检索元数据。然后通过flex保存元数据信息。

这似乎有点长啰嗦。有没有其他人以不同的方式成功实现了这一目标?

1 个答案:

答案 0 :(得分:1)

充实上面的评论,我在名为LOADED_FILE的表中有一个BLOB(称为CON​​TENT)。 我将它转换为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;

在一个合适的应用中,我可能会把它存储为OrdAudio而不是普通的blob。