Я хочу сбросить выбранный файл, если файл имеет неподдерживаемый формат, например demo , но другой файл тега ввода с поддерживаемым форматом также сбрасывается, используя динамическую форму,
kyc.component.ts
handleFileInput(files: FileList, label: string): void {
this.fileToUpload = files.item(0);
if ((this.fileToUpload.type === 'image/bmp' && this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'application/pdf'&& this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'image/gif'&& this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'image/jpeg'&& this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'image/png'&& this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'application/msword'&& this.fileToUpload.size <= 10000000)
|| (this.fileToUpload.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'&& this.fileToUpload.size <= 10000000)) {
this.uploadFile(this.settingService.uploadFile(), this.fileToUpload, label);
} else {
this.data[label] ="";
this.notiService.printErrorMessage(MessageContstants.CHECK_FILE);
}
}
kyc.component.html
<input *ngIf="field.type.name == fieldTypeNames.File" class="full-width" (change)="handleFileInput($event.target.files, field.label)" [(ngModel)]="data[field.label]" name="field.label" type="File" placeholder="{{field.description}}"accept=".jpeg, .jpg, .gif, .png, .bmp, .docx, .doc, .pdf," required />
Мне также пришлось попробовать другой обходной путь, например https://stackoverflow.com/a/40165524/9970857 но тоже не сработало, нужны предложения и советы, застрял на этой проблеме на неделю,