pdf在新标签angularjs中打开不安全的blob

时间:2017-03-09 07:57:56

标签: javascript angularjs pdf blob arraybuffer

我正在尝试打开从服务器调用的pdf文件,我以arraybuffer的格式接收文件。我尝试了很多方法使用$ window.open在新选项卡中打开pdf文件,并将文件转换为其他表单。在您建议下载之前,它可以工作,但我想在新选项卡中打开它,可以安全地查看为弹出窗口。

将pdf转换为blob后,pdf会打开此url: "斑点:http://console:8012/3c8b129d-3544-4f7e-a606-cf4b5eb6e1f3" 我的问题是它不安全,因为它以blob开头:并且chrome将其标记为不安全。

任何人都知道如何解决这个问题? 感谢

2 个答案:

答案 0 :(得分:1)

在角度应用的配置块中注入$compileProvider并添加以下行:

 $compileProvider.aHrefSanitizationWhitelist(/^\s*(blob):/);

答案 1 :(得分:0)

AngularJS v1.6的默认清理白名单是1

var  aHrefSanitizationWhitelist = /^\s*(https?|ftp|mailto|tel|file):/,
    imgSrcSanitizationWhitelist = /^\s*((https?|ftp|file|blob):|data:image\/)/;

使用$compileProvider.aHrefSanitizationWhitelist methodblob添加到其白名单。

app.config(function($compileProvider) {
    var hrefWhiteList = /^\s*(https?|ftp|mailto|tel|file|blob):/;
    $compileProvider.aHrefSanitizationWhitelist(hrefWhiteList);
});