Я пытаюсь представить видео base64 с помощью Angular, только он не может его интерполировать из-за поставщика $ sce, не доверяющего источнику (который является простым URL-адресом данных).
Error: [$interpolate:interr] Can't interpolate: {{video}}
Error: [$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy.
URL: data:video/mp4;base64,AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAAvzm1vb3YAAABsbXZoZ…+VXw5feXy+X3p3xV429Xirw87eVd0svWnUu3by8hW9zS6twXS5ZcbmgmlcKy+3CsI4raC9YA==
До сих пор, что я пытался:
$scope.video = $sce.trustAsResourceUrl('base64-string-here');
Этот не работал, я считаю, что метод по-прежнему ожидает действующей ссылки, а не URL-адрес данных, поэтому не правильное решение.
Вторая попытка:
angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) {
// Completely disable SCE.
// Do not use in new projects.
$sceProvider.enabled(false);
});
Это, конечно работает, но затем он отключает весь поставщик, следовательно, делает приложение уязвимым.
Я еще не нашел подходящего решения для этого, я показываю изображения base64 без каких-либо хлопот, поэтому я уверен, что должен быть способ решить его или, по крайней мере, обходной путь.
Большое спасибо за помощь!