2017-03-09 2 views
2

J'essaie d'ouvrir un fichier pdf que j'appelle du serveur, je reçois le fichier dans le format d'un buffer de tableau. J'ai essayé plusieurs façons d'ouvrir le fichier pdf dans un nouvel onglet en utilisant $ window.open et en convertissant le fichier en d'autres formes. Avant que vous suggériez le téléchargement, cela fonctionne mais je veux l'ouvrir dans un nouvel onglet et être affiché en tant que popup.pdf ouverture blob dangereux dans le nouvel onglet angularjs

Le pdf ouvre cette URL après la conversion à un blob: « blob: http://console:8012/3c8b129d-3544-4f7e-a606-cf4b5eb6e1f3 » et mon problème est qu'il est dangereux parce qu'il commence par un blob: et le chrome, il marque comme dangereux.

Quelqu'un a-t-il une idée de comment résoudre ce problème? Merci

+1

nfokho @ user3909194 –

+0

Lire [AngularJS $ compileProvider API de référence - aHrefSanitizationWhitelist] (https://docs.angularjs.org/api/ng/provider/$compileProvider#aHrefSanitizationWhitelist). – georgeawg

+0

Veuillez indiquer le code utilisé pour ouvrir le pdf dans un nouvel onglet et le message d'erreur exact. – georgeawg

Répondre

0

Injecter $compileProvider dans le bloc de configuration de votre application angulaire et ajouter la ligne suivante:

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

Merci de votre réponse, mais je l'ai déjà écrit et encore le blob est marqué comme dangereux –

+0

en fait, je faisais la même chose hier et cela a fonctionné pour moi. – pranavjindal999

+0

Je l'ai ajouté au fichier main.js comme ce fichier app.config (function ($ compileProvider) { $ compileProvider.aHrefSanitizationWhitelist (/^\ s * (blob): /); }); est-ce correct comme ça? –

0

Le aseptisation par défaut des listes blanches pour AngularJS v1.6 sont 1:

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

Utilisez le $compileProvider.aHrefSanitizationWhitelist method pour ajouter blob à sa liste blanche.

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