我试图使用Object html标签来显示我做服务器端的PDF,但是当我硬编码它工作的url时,当我把它放在一个变量中它给我一个Angular错误而没有显示:
unsafe value used in a resource URL context
我首先尝试使用消毒剂,但我读到它应该仅用于支持href / src
的标签,在我的情况下,它的数据如下:
<object data="{{pdfSrc}}" type="application/pdf" width="100%" height="100%">
</object><br>
这是我首先尝试的:
pdfSrc: any =this.sanitizer.bypassSecurityTrustUrl('http://my_url.com') ;
谢谢
答案 0 :(得分:4)
您需要使用绑定清洁剂的结果
[data]="pdfSrc"
因为
data="{{pdfSrc}}"
仅用于导致清除消毒信息的字符串绑定
答案 1 :(得分:4)
你的问题的标题是“如何消毒角4的网址”,但是实际上绕过安全检查而不是消毒。你应该console.log("asd")
代替。
答案 2 :(得分:1)
我找到了基于GünterZöchbauer的解决方案答案我使用了他的方法,但不仅仅是变量我传递了像这样消毒URl的功能:
<object [data]="cleanURL(pdfSrc)" type="application/pdf" width="100%" height="100%">
</object>
这里是CleanURL功能:
cleanURL(oldURL ): SafeUrl {
return this.sanitizer.bypassSecurityTrustResourceUrl(oldURL);
}