Javascript 角度base64视频插值失败($sce)

Javascript 角度base64视频插值失败($sce),javascript,angularjs,base64,Javascript,Angularjs,Base64,我尝试使用Angular来呈现base64视频,但由于$sce provider不信任源(这是一个简单的数据url),它无法插入它 到目前为止,我已经尝试过: $scope.video = $sce.trustAsResourceUrl('base64-string-here'); 这个不起作用,我相信这个方法仍然需要一个有效的链接而不是数据url,因此它不是正确的解决方案 第二次尝试: angular.module('myAppWithSceDisabledmyApp', []).confi

我尝试使用Angular来呈现base64视频,但由于$sce provider不信任源(这是一个简单的数据url),它无法插入它

到目前为止,我已经尝试过:

$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图像,没有任何麻烦,所以我确信一定有办法解决它,或者至少有一个解决方法


非常感谢您的帮助

如果有人在寻找解决方案,以下是我在发布问题3个月后的意见:

Base64用于视频不是一个好主意,即使你解决了插值问题,应用程序在Android上播放时也会崩溃

我在这方面花了很多时间,因此“如何在应用程序上播放非流视频”的解决方案是:

  • 将文件下载到本地电话并在那里播放(如果您使用angular,请查找ngCordova文件传输插件)

  • 对于Android:HTML5视频标签将不起作用。原因就在权限问题和Android不允许本地视频在HTML上播放之间。使用android视频播放器,例如

  • 对于iOS:HTML5视频标签与播放本地视频完美结合。它将其转换为本地的

    希望有一天它能帮助别人

    angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) {
    // Completely disable SCE.
    // Do not use in new projects.
    $sceProvider.enabled(false);
    });