angular - 在角度服务器端渲染中渲染图像
问题描述
是否可以使用角度 ssr 从 API 调用动态渲染图像?
base 64 图像数据 pub.thumbnail 可用:
缩略图数据:图像/png;base64,iVBORw0KGgoAAAANSUhEUgAAB0IAAAAPTCAYAAAAtvcoQAAAgAElEQVR4nOzde3xUB53//6FAr9qW3u+tllZbXatVV61f7Vp1dXWtWt1Vd1d33Z9u97vVr+tuV3cIgXAnKZQCQwgQoFDCpIQCAmFCQ3...
但以下只是呈现“数据缩略图”
<div fxFlex="45 " *ngIf="pub.thumbnail as value ">
<mat-card style="margin: 1em ">
<img mat-card-image src="{{value}} " alt="data thumbnail ">
</mat-card>
</div>
这是可能的还是被 SSR 禁止的?页面的其余部分渲染得很好,可以在这里看到
解决方案
查看生成的 html,这是因为 Angular 不信任您的图像数据
<img alt="data thumbnail " src="unsafe:data:image/png;base64,iVBO.... ">
尝试使用 Angular 的DomSanitizer
constructor(private sanitizer: DomSanitizer)
{
this.value = "data:image/png;base64....";
this.value = this.sanitizer.bypassSecurityTrustUrl(this.value);
编辑:
您需要在模板 ( <img [src]="value"
) 中使用属性绑定语法,如生成的 html 中所示
<img alt="data thumbnail "src="unsafe:SafeValue must use [property]=binding: 10.16907/e495cce8-59ab-4444-b12e-36b2160f6a98 (see http://g.co/ng/security#xss) ">
推荐阅读
- r - 仅使用 geom_areas 更改 ggplot2 中的图例颜色
- python - 是否有一种更简洁的方法可以根据字符串中的特定子字符串获取多个变量的平均值
- openjpa - 无法从命令行运行 openjpa 工具
- reactjs - 反应映射每个孩子并为每个孩子添加css样式
- php - 在php中对列表进行分页
- android - 从应用程序的进程中删除 GmsBoundBrokerService
- sql - 如果sql中的所有条件都满足,如何选择记录
- outlook - Outlook vsto如何为listviewItem添加宽度
- android - Android Studio:连接被拒绝(连接被拒绝)
- c++ - 如何从输入中提取?