загрузить файл m4a во flex, сохранить его как блоб в oracle и получить из него информацию метаданных - PullRequest
0 голосов
/ 20 апреля 2010

У меня в настоящее время есть компонент FileUpload.mxml, который загружает .m4a в базу данных оракула, извлекает метаданные из файла и сохраняет информацию метаданных в базе данных.

, чтобы добиться этого, я использую FileReference () и устанавливаю среди других dispatcher.addEventListener (DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);

Таким образом, файл публикуется в файл php, который сохраняетэто как капля.Как только большой двоичный объект сохранен, сценарий отправляет сообщение обратно в flex для отправки события upload_complete_data.

В обработчике целиком метаданные извлекаются путем считывания значения из базы данных в пользовательские метаданные.читатель.Информация метаданных затем сохраняется с помощью flex.

Это кажется немного затянуто.Кто-нибудь еще успешно достиг этого, используя другой способ?

1 Ответ

1 голос
/ 21 апреля 2010

Изложив комментарий выше, я получил BLOB (называемый CONTENT) в таблице с именем LOADED_FILE. Я преобразую его в 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, а не как обычный объект.

...