0
저는 Angular2와 Firbase Storage를 사용하고 있습니다. 'uploadProcess'값을 (HTML 파일에 지정된) 업데이트하려면 얻으려고하지만 어떻게 든 uploadTask.on 함수의 'uploadProgress'변수를 업데이트 할 수 있습니다. 그것은 다른 스레드에서 실행되고 있기 때문입니까? 이 문제의 해결 방법은 무엇입니까? 호프 누군가가 나를 도울 수 있습니다. 또 다른 스레드에서 실행되고 있기 때문에 감사Firebase Storage UploadTask에서 ProgressBar를 업데이트 할 수 없습니다.
=======================================================================
import { Component } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
import * as firebase from 'firebase';
@Component({
selector: 'app-create-folder',
templateUrl: './create-folder.component.html'
})
export class CreateFolderComponent {
public fItem: FolderItem;
public f: File;
public storageRef: Storage;
public uploadProgress = 0;
constructor(public af: AngularFire) {}
onSubmit() {
const storageRef = firebase.storage().ref().child('myclient/' +
this.fItem.file_name);
var uploadTask = storageRef.put(this.f);
uploadTask.on('state_changed', function(snapshot){
this.uploadProgress = (snapshot.bytesTransferred/snapshot.totalBytes) *
100;
});
}
}