Я пытаюсь загрузить разные документы.Но проблема возникает, когда я выбираю файл во 2-й раз, когда он добавляется в fileArray, он не заменяется.
Например, я выбрал картинку для первого ввода.Тогда я решил выбрать другое изображение для того же ввода, тогда оно будет добавлено в массив файлов, поэтому, когда я его загрузлю, будет также загружено предыдущее изображение, которое я не хочу.
Есть ли какое-либо решение (кроме использования загрузки нескольких файлов с помощью одной кнопки), чтобы при выборе файла во второй раз он заменялся вместо добавления в массив файлов?
uploadDocument.html Файл:
<form (ngSubmit)=f.form.valid && formSubmit() #f="ngForm">
<input type="file" class="form-control ml-2" name="photo" ng2FileSelect [uploader]="uploader" />
<input type="file" class="form-control ml-2" name="document1" ng2FileSelect [uploader]="uploader" />
<input type="file" class="form-control ml-2" name="pic2" ng2FileSelect [uploader]="uploader" />
<button type="submit" class="btn btn-danger btn-lg btn-fill">Upload</button>
</form>
uploadDocument.component.ts Файл:
import { Component, OnInit, Renderer, ElementRef } from '@angular/core';
import { UserService } from '../_services';
import { ActivatedRoute, Router, Params} from '@angular/router';
import { FileUploader } from 'ng2-file-upload/ng2-file-upload';
import { FileSelectDirective } from 'ng2-file-upload';
const URL = 'http://localhost:3002/api/upload';
@Component({
selector: 'app-uploadDocument',
templateUrl: './uploadDocument.component.html',
styleUrls: ['./uploadDocument.component.scss']
})
export class UploadDocument implements OnInit {
model: any = {};
mobile: number;
options: boolean;
loading = false;
public uploader:FileUploader = new FileUploader({url: URL});
constructor(private userService: UserService, private route:ActivatedRoute,private router:Router, private el: ElementRef) { }
ngOnInit() {
this.uploader.onBeforeUploadItem = (item)=> {console.log("Item"); console.log(item)};
this.uploader.onAfterAddingFile = (file)=> { file.withCredentials = false;};
this.uploader.onCompleteItem = (item:any, response:any, status:any, headers:any) => {
console.log("ImageUpload:uploaded:", item, status, response);
};
}
formSubmit() {
this.uploader.uploadAll();
}
}