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

pdf opening unsafe blob in new tab angularjs

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

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

有人知道如何解决这个问题吗? 谢谢

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

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

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);
});