首页 > 解决方案 > 资源 URL 中使用的 Angular 4 不安全值

问题描述

我有以下代码来显示pdf文件。

constructor(private sanitizer: DomSanitizer)
    {
        sanitizer.bypassSecurityTrustResoureUrl('./uploads/{file.filename}}');
    } 

<object data="./uploads/{{file.filename}}" type="application/pdf"></object>

当这个运行我得到错误

Error: unsafe value used in a Resource URL Context

我在这里浏览了其他帖子并实现了构造函数绕过解决方案仍然相同的错误。有谁知道如何解决这一问题?谢谢

标签: javascripthtmlangular

解决方案


您只需要在 data 属性中使用 SafeResourceUrl 即可。这种方法应该有效:

向您的组件添加一个方法:

getSafeUrl(fileName) {
        return this.sanitizer.bypassSecurityTrustResourceUrl("./uploads/" + fileName);
    }

并更改您的html:

<object [data]="getSafeUrl(file.fileName)" type="application/pdf"></object>

所以你可以在构造函数中删除你的代码。


推荐阅读