-1

I want to upload multiple files,and i create a input field with attribute multiple,But i couldnt select multiple files.

app.html

<input type="file" (change)="onChange($event)" required class="form-control " multiple> component.ts

    onChange(event: any) {
    let fileList: FileList = event.target.files;
    console.log(event.target.files)
    if(fileList.length > 0) {
    let file: File = fileList[0];
    let formData:FormData = new FormData();
    formData.append('degree_attachment', file, file.name);
    let headers = new Headers();
    headers.append('Accept', 'application/json');
    let options = new RequestOptions({ headers: headers });
    this.http.post('http://localhost:8080/EventManager/UploadFile', 
    formData,options)
    .map(res => res.json())
    .catch(error => Observable.throw(error))
    .subscribe(
        data => console.log('success'),
        error => console.log(error)
    )
  }}
Ajith
  • 775
  • 1
  • 13
  • 47

1 Answers1

0

It should be able to select multiple files.

Live demo: Plunker

Code:

@Component({
  selector: 'my-app',
  template: `
    <form enctype='multipart/form-data'> 
      <input 
        (change)="onChange($event)"
        type='file'
        name='files[]'
        multiple
      />

      <button type='submit'>Submit</button>
    </form>
  `,
})
export class App {
  onChange(event: any) {
    let fileList: FileList = event.target.files;
    console.log(event.target.files)
  }}
}
Tom
  • 4,776
  • 2
  • 38
  • 50