代码之家  ›  专栏  ›  技术社区  ›  r2018

Angular6-基于url动态地将数据分配给对象标记

  •  0
  • r2018  · 技术社区  · 6 年前

    要求

    根据用户从PDF列表中选择的内容动态加载PDF文件,并将其显示在object tag/embed tag中。

    用户无法下载PDF文件,因此无法下载对象标记。但是,其他安全设置尚未添加。

    发行

    我不断得到错误“错误 错误:需要一个安全的ResourceURL,得到一个URL(请参阅 http://g.co/ng/security#xss )“尝试在对象标记中加载PDF时。

    研究

    在来问这个问题之前,我已经看了好几个帖子。

    1. Unsafe value used in a resource URL context with Angular 2

    可重复步骤

    我创造了 stackblitz ,可以看到生成的错误。

    问题

    我不知道我在这里做错了什么?

    我试过几种方法,包括使用 Medium.com

    1 回复  |  直到 6 年前
        1
  •  0
  •   hgiasac    6 年前

    使用

    this.sanitizer.bypassSecurityTrustResourceUrl(url)
    

    DomSanitizer 根据情况对各种方法进行分类。

    • bypassSecurityTrustUrl :绕过安全性并将给定值信任为安全样式的URL,即可用于超链接或 <img src> .
    • bypassSecurityTrustResourceUrl :绕过安全性并将给定值信任为安全的资源URL,即可用于从以下位置加载可执行代码的位置 <script src> ,或 <iframe src> .

    在这种情况下, object 标记将多媒体内容嵌入到HTML中,因此它被识别为资源类型