首页 > 解决方案 > Arraybuffer 无法输入字符串,Angular。我正在尝试在页面上显示上传的图片

问题描述

我使用了一个截图来显示用户选择的图像。代码有效,但在编辑器上我在下面显示的行中收到错误。我知道一旦我停止开发服务器并再次运行它,它就不会再编译了,这发生了。

 srcFotos: Array<string>;



onFileSelect(event, index) {


      if (event.target.files && event.target.files[0]) {
          const file = event.target.files[0];
  
          const reader = new FileReader();
          reader.onload = e => {
            alert(reader.result);

           this.srcFotos[index] =  reader.result; //Arraybuffer is not assinable to type string
          };
  
          reader.readAsDataURL(file);
      }
     
   

    }

在模板上

     <img [src]="srcFotos[1]" class="img-fluid">

就像我说的代码按预期工作一样,我选择了图像,尽管出现错误,它仍然出现在页面上。

标签: javascriptangulartypescript

解决方案


您可以强制编译器将其视为带有 as 的字符串

this.srcFotos[index] = reader.result as string;


推荐阅读