Angularjs добавляет небезопасный тег к изображению

Я извлекаю изображение из базы данных, и когда я показываю его как файл base64, angular добавляет к нему небезопасный тег. Как я могу это исправить? Это то, что я использую

<img ng-src="data:image;base64,{{logo.base64}}" />

Это результат

<img  ng-src="data:image;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxQTEhMUExMWFB=" src="unsafe:data:image;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBx=">

Если я удалю "небезопасный" тег в браузере, изображение отобразится нормально.

Спасибо.

Ответ 1

В вашем примере вам не нужно менять белый список. BTW, если вам нужно его установить, imgSrcSanitizationWhitelist - это функция, поэтому она должна быть установлена ​​следующим образом:

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob):|data:image\//);

Для вашей проблемы это связано с тем, что ваш URI данных не соответствует регулярному выражению, а / после data:image отсутствует. Кажется, что тип изображения ожидается, например. (data:image/png;).

Попробуйте добавить правильный тип изображения, если он работает или нет, обратите внимание, что png является просто примером.

<img ng-src="data:image/png;base64,{{logo.base64}}" />

Надеюсь, что это поможет.