Я знаю, что опоздал, но столкнулся с этой проблемой как для изображения, так и для звука.Вышеуказанные решения отлично работают для изображений, но не очень хорошо для аудиоВ конце концов я получил все это, используя объект URL вместо объекта FileReader, который используют все.что-то вроде следующего
файла component.ts ~
imgSrc = 'assets/path/to/default/image.jpeg'
imgFileSelected(event: any) {
if (event.target.files && event.target.files[0]) {
this.imgSrc = URL.createObjectURL(event.target.files[0]);
}
}
Мой component.html выглядит как ~
<img [src]="imgSrc | sanitizeUrl"> <!-- using a Custom Pipe -->
Наконец я создал пользовательский канал, чтобы избавить консольпредупреждений.моя труба выглядит следующим образом ~
@Pipe({
name: 'sanitizerUrl'
})
export class SanitizerUrlPipe implements PipeTransform {
constructor (
private sanitize: DomSanitizer
) {}
transform(value: string): SafeUrl {
return this.sanitize.bypassSecurityTrustUrl(value);
}
}
Чтобы увидеть, как я использовал это для звукового тега, вы можете проверить эту ссылку. Это всего лишь 2 дополнительные строки кода, требующего пояснения.