В моем приложении Angular 5 я получаю данные, которые хранятся как VARBINARY(MAX)
в базе данных SQL Server.В поле базы данных это выглядит так: 0xFEA47E451A40AE4571E51F...
Когда я извлекаю его из базы данных с помощью вызова GET через .NET WebAPI, это выглядит так в консоли из моего приложения Angular: aFwwbUYFjhvbv=bhBGVJHvchjhcbsHKfvHbbh...
Я знаю MIME-тип этих данных (это либо MP3, либо WAV).Как я могу проанализировать / прочитать эти данные в клиенте Angular 5 и воспроизвести их с использованием компонента HTML <audio>
?
Я рассмотрел несколько связанных решений, но ни одно из них не подходит из-за той или иной ошибки, иливозможно, с моей стороны не хватает понимания.
Я предполагаю, что данные BLOB-объектов содержат аудиоконтент, который я могу воспроизводить.Я должен сначала преобразовать его в файл.Вот что я пытаюсь:
const file = new File([blobData], "audio.mp3")
this.audioSource = URL.createObjectURL(file)
И в HTML я назначаю audioSource
в качестве источника компонента HTML5.
<audio [src]="audioSource" type="audio/mp3"></audio>
В результате получается net::ERR_UNKNOWN_URL_SCHEME
ошибка.
Я тоже пробовал sanitizer.bypassSecurityTrustUrl(this.audioSource)
, но это тоже не работает.Что я делаю не так, и как я могу получить желаемый эффект?