title: Angular 7 - Upload multiple files along with data and report progress
body: <p>I want to upload multiple file/images using angular v.7 (also angular material if it helps), and in the same formData will be included more data such as title or some text. I managed all this to work out but the problem is I can't get report progress per each file, instead the report I get is for all files together as one report.</p>
  
  <p>How can I fix this?</p>
  
  <p>HTML</p>
  
  <pre><code>&lt;input type="file" id="mediaFile" #mediaFile multiple (change)="fileAdded($event)"&gt;
  </code></pre>
  
  <p>JS</p>
  
  <pre><code>this.selectedFiles: Files[] = [];
  
  // when files are selected, save them in array selectedFiles
  fileAdded(event) {
    if(event.target.files.length){
      for(let i=0 ; i &lt; event.target.files.length ;i++){ 
        this.selectedFiles.push(&lt;File&gt;event.target.files[i]);
      }
    }
  }
  
  
  // upload data
  upload() {
     this.message = "";
     // stop here if form is invalid
     if (this.shareForm.invalid) { this.message = "Fill the required fields"; return; }
  
     this.formD = new FormData();
     this.formD.append('firstname', this.shareForm.value.firstname);
     this.formD.append('lastname', this.shareForm.value.lastname);
     this.formD.append('position', this.shareForm.value.position);
  
     if(this.selectedFiles.length){
       for(let i=0 ; i &lt; this.selectedFiles.length ; i++)
         this.formD.append('files[]', this.selectedFiles[i],this.selectedFiles[i].name);
     }
  
     this.loading = true;
  
     this.http.post&lt;any&gt;(myUrl, this.formD,{
      reportProgress: true,
      observe: 'events',
      withCredentials:true
    })
    .subscribe(
       res =&gt; {
         console.log(res)
         this.loading = false;
       },
       error =&gt; {
         this.message = error.message;
         this.loading = false;
      }
     );
  }
  </code></pre>
  
  <p>I uploaded two files each one about 0.45MB, in the console i get this</p>
  
  <pre><code>{
    loaded: 868352,
    total: 976970,
    type: 1
  }
  </code></pre>
  
  <p>I expect to get report progress per each file and not for all together</p>