Несколько загрузок файла `reader.onloadend` не запускается
Я использую p-fileUpload
в Angular 6.0.0
приложение, для загрузки файлов изображений (в этом случае несколько файлов изображений). Имеет обработчик события (uploadHandler)
для загруженных файлов.
<p-fileUpload multiple="true" name="myfile[]" accept="image/*" [auto]="true"
customUpload="true" chooseLabel="Select" (uploadHandler)="uploadImage($event)">
</p-fileUpload>
Файлы загружаются правильно, но я не могу сгенерировать код base64 при циклическом e.files
массив, потому что 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
цикл там) внутри того же приложения, и он работает во всех других местах, в отличие от этого случая.