2010-04-20 77 views
0

我目前有一個FileUpload.mxml組件,它將.m4a上載到oracle數據庫,從文件中檢索元數據並保存數據庫中的元數據信息。在flex中上傳m4a文件,並將其保存爲oracle中的blob,並從中檢索元數據信息

爲了實現這個我用FileReference()設置了其他的,dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,completeHandler);

因此,該文件發佈到一個PHP文件,它將其保存爲blob。一旦blob被保存,腳本就會發送一條消息回到flex來分派upload_complete_data事件。

在完整的處理程序中,元數據通過從數據庫中讀取數值讀取到定製的元數據讀取器中而被回收。元數據信息然後通過flex保存。

這似乎有點長囉。有沒有其他人使用不同的方式成功實現了這一點?

+0

哪個數據庫版本? ORDAudio對象類型提供了用於提取元數據的對象方法。 – 2010-04-20 07:17:28

+0

嗨加里,謝謝你的回覆。我們使用Oracle數據庫11g企業版版本11.2.0.1.0 - 64位生產。 – Angus 2010-04-23 04:09:50

回答

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。

+0

我不確定ordaudio可以提取我感興趣的元數據,例如音軌標題,流派等來自m4a的元數據。我知道它支持元數據的存儲。 – Angus 2010-04-23 05:05:16

相關問題