0

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

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

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

在完整的处理程序中,然后通过将值从数据库读回到定制的元数据读取器中来检索元数据。然后通过 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;

在适当的应用程序中,我可能会将其存储为 OrdAudio 而不是普通的 blob。

于 2010-04-21T03:55:46.040 回答