angular - Ionic4/Angular 8 - HTML 视频标签不播放 base64 字符串
问题描述
看在我的份上,我无法弄清楚为什么会这样。当我使用 base64 发送消息时,我可以看到视频并且播放正常,但是,当我收到 base64 时,我看不到视频。它只是在中间显示一个断开的链接图标。
html部分:
<video controls preload="auto" class="video-style">
<source type="video/mp4" [src]="(message.data.base64) | safe" />
</video>
安全管
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
@Pipe({
name: 'safe',
})
export class SafePipe implements PipeTransform {
private sanitizer: DomSanitizer;
constructor(sanitizer: DomSanitizer) {
this.sanitizer = sanitizer;
}
transform(value: string): SafeUrl {
return this.sanitizer.bypassSecurityTrustUrl(value);
}
}
然后 message.data.base64 ==="data:video/mp4;charset=utf-8;base64,iVBORw0KGgoAAA…b2z7S/NR4vPp0+njq+gEgAr7mfb3/JQAAAABJRU5ErkJggg=="
我尝试了包含和排除的字符集,没有区别。我需要 Dom Sanatizer,否则 Angular 会对其进行消毒。
任何帮助,将不胜感激。
解决方案
推荐阅读
- python - 迭代地计算每个不同元素的对应值
- javascript - for循环中的Google Maps API,如何合并信息窗口?
- node.js - 无法针对 Firestore 模拟器进行身份验证
- java - 使用合并休眠不一致和冲突的结果
- android - 为 Android 编译时出现 Buildozer 错误
- javascript - 如何在expressjs res.render函数中将HTML作为json对象传递
- vba - VB 宏在 REST 请求上更改编码
- python - 在 3D 数据中绘制函数
- php - PHP if 语句同时执行 if 和 ELSE if
- python - 将“Image.Image.paste()”写入新文件