2017-12-02 11 views
0

ちょっと覗いて、私は応答2でngx-uploaderを使用していました。私はバックエンドで生成されたファイル名を送信しています。応答は、ファイルが完全にアップロードされたときにのみ送信されます。私はそれを追跡/聴いていますか、EventEmittersアップロードの進捗状況を追跡する方法は?価値の変化?

files: UploadFile[]; 
    uploadInput: EventEmitter<UploadInput>; 

     startUpload(): void { 
     const event: UploadInput = { 
      type: 'uploadFile', 
      url: 'http://localhost:3030/upload/quality-docs', 
      method: 'POST', 
      file: this.files[this.files.length - 1], 
     }; 


     this.uploadInput.emit(event); 
     } 

event.fileの内部進捗のパーセンテージ値である:だから、どのように私はこのようになります。イベント・エミッターによって行われ、アップロードプロセスを追跡することができます。だから、その100、何かをする(応答の名前の価値を得る)?

答えて

0

私はこれを行うには正しい方法を見つけしばらく..ドキュメント「README」にありonUploadOutput(output:UploadOutput)と呼ばれるメソッド:void {}では、次のような別のif文を追加するだけです。

else if(output.type === 'done') { whatever u wanna do} 
0

私はこれが最善か、正しい方法ではないですけど、これは私はそれがうまく作られた方法です。

startUpload(): void { 
    this.uploaded = false; 
    const event: UploadInput = { 
     type: 'uploadFile', 
     url: 'http://localhost:3030/upload/quality-docs', 
     method: 'POST', 
     file: this.files[this.files.length - 1], 
    }; 

    this.uploadInput.emit(event); 
    this.repeat(event); 
    } 

    repeat(event) { 
    setTimeout(() => { 
     this.fileName = event.file.response.filename; 
     if (this.fileName == '' || this.fileName == undefined) { 
     this.repeat(event); 
     } 
     this.uploaded = true; 
    }, 200) 
    } 
関連する問題