Индикатор выполнения в ng2-file-upload в Angular 6
Я хотел бы создать индикатор загрузки моего файла.
Загрузка, которую я использую: https://www.npmjs.com/package/ng2-file-upload
app.component.html
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<input type="file" name="myFile" ng2FileSelect [uploader]="uploader" />
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button" class="btn btn-success btn-s" (click)="uploader.uploadAll()" [disabled]="!uploader.getNotUploadedItems().length">
Upload an Image
</button>
</div>
</div>
</div>
app.component.ts
import { Component, ViewChild } from '@angular/core';
import { FileUploader, FileSelectDirective } from 'ng2-file-upload';
const URL = 'url to API';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public uploader: FileUploader = new FileUploader({ url: URL, itemAlias: 'myFile' });
ngOnInit() {
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);
alert('File uploaded successfully');
};
}
}
Все работает нормально, но хотелось бы поставить индикатор выполнения, только этот.
1 ответ
Вы можете слушать прогресс здесь
this.uploader.onProgressItem = (progress: any) => {
console.log(progress['progress']);
};
В твоем app.component.html
включают:
<div class="progress" style="margin-bottom: 0;">
<div class="progress-bar" role="progressbar" [ngStyle]="{ 'width': uploader.progress + '%' }"></div>
</div>