1

p-fileUploadAngular 6.0.0应用程序中使用,用于上传图像文件(在这种情况下是多个图像文件)。它有一个(uploadHandler)用于上传文件的事件处理程序。

<p-fileUpload multiple="true" name="myfile[]" accept="image/*" [auto]="true" 
      customUpload="true" chooseLabel="Select" (uploadHandler)="uploadImage($event)">
 </p-fileUpload>

e.files文件正在正确上传,但是在遍历数组时我无法生成 base64 代码,因为reader.onloadend没有触发。我已经搜索了这个触发问题并发现了一些相关问题,但它们的解决方案并没有解决我的问题。下面是我为多个图像文件上传编写的代码 -

uploadImage(e: any) {
if (e && e.files.length) {
  const reader: FileReader = new FileReader();
  e.files.forEach((i: File, j: any) => {
    reader.onloadend = (ev: any) => {
      console.log('inside??');
      // Console is not triggered
    };
    // reader.readAsDataURL(...);
    this.cdr.markForCheck(); // For outside zone detection
  });
}

}

请帮我解决这个问题。我在同一个应用程序中使用相同的代码上传单个图像(所以我不需要forEach在那里循环),并且它在所有其他地方都可以正常工作,与这种情况不同。

4

0 回答 0