【问题标题】:Image/Video Preview In AngularAngular中的图像/视频预览
【发布时间】:2019-09-22 07:03:35
【问题描述】:

我正在尝试在 Angular 中上传图片或视频。我想显示它的预览。 我在预览图像时没有问题,我的问题是如何预览视频? 请参阅此 stackblitz 链接:

CLICK HERE


代码

 onSelectFile(event) {
    if (event.target.files && event.target.files[0]) {
      var reader = new FileReader();

      reader.readAsDataURL(event.target.files[0]);

      reader.onload = (event) => {
        this.url = event.target.result;
      }
    }
  }

【问题讨论】:

    标签: angular events angular6 angular7 filereader


    【解决方案1】:

    您可以决定文件是否为视频/图像类型,然后将其转发给合适的 html 控件

    <img [src]="url" *ngIf="format==='image' && url" height="200"> <br/>
    <video [src]="url" *ngIf="format==='video' && url" height="200" controls></video> <br/>
    <input type='file' (change)="onSelectFile($event)" />
    
    onSelectFile(event) {
      const file = event.target.files && event.target.files[0];
      if (file) {
        var reader = new FileReader();
        reader.readAsDataURL(file);
        if(file.type.indexOf('image')> -1){
          this.format = 'image';
        } else if(file.type.indexOf('video')> -1){
          this.format = 'video';
        }
        reader.onload = (event) => {
          this.url = (<FileReader>event.target).result;
        }
      }
    }
    

    更新 Stackblitz:https://stackblitz.com/edit/angular-video-or-image-upload-preview-fjsukm

    【讨论】:

      猜你喜欢
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多