总结下视频预览遇到的坑:
1、视频预览–后台返回base64或二进制流arraybuffer格式(我们一般直接返回url使用即可,处于安全考虑,现在需求就是这样)
问题一:
base64方式:videosrc = 'data:' + content-Type + ';base64,' + base64Code
(base64Code是指返回的base64)。这个拼接可前端可后端,建议后端做,因为可能存在换行问题,需要将base64Code.repalce("\r\n","")
。如果是前端:base64Code.replace(/[\r\n]/g,"")
。一般来说,小文件用base64,比如一些图标。
其次入错存在unsafe安全策略:需要做如下修改
1、angular中引入private santizer: DomSantizer
.也可不用引入用$申明全局。
2、使用方式以视频为例子:
<video controls>
<source [src]="this.santizer.bypassSecurityTrustResourceUrl(videosrc)"