2017-03-06 106 views
4

我使用angular2 http post請求創建了圖片上傳器。現在我想跟蹤正在上傳的圖像的進度,這可能使用xmlHTTP請求,但我找不到適當的格式。如何在angular2中創建XHR請求?

這裏是我的代碼爲http圖像上傳。

uploadImage(eventId:number,formData:any): Observable<any[]> { 
    // update location info of an event 
    let headers = new Headers({ **Some necessary headers** }); 
    let options = new RequestOptions({ headers: headers }); 
    return this.http.post(AppSettings.API_ENDPOINT+'/events/uploads',formData, options) 
     .map((response: Response) => response.json()); 
} 

預期其中一期工程。現在我該如何跟蹤正在上傳的圖片的進度?

回答

0

我想你可以做這樣的事情在你的腳本:

public uploaded : string; 
uploadImage(eventId: number, formData: any): Observable <any[]> { 
    // update location info of an event 
    let headers = new Headers({ ** Some necessary headers ** }); 
    let options = new RequestOptions({ headers: headers }); 
    let xhr = this.http.post(AppSettings.API_ENDPOINT + '/events/uploads', formData, options); 

    xhr.onprogress = (event) => { 
    let progress = (event.loaded/event.total)*100; 
    this.uploaded = progress; // update the uploaded property to show in the view 
    }; 
    xhr = xhr.map((response: Response) => response.json()); 

    return xhr; 
} 
+0

應用程序/事件/服務/ event.service.ts(564,13):錯誤TS2339:房產 'onprogress' 不存在上鍵入'Observable '。 app/events/services/event.service.ts(564,27):錯誤TS7006:參數'event'隱式具有'any'類型。 app/events/services/event.service.ts(570,16):錯誤TS2322:類型'Observable '不可分配給類型'Observable '。 類型'響應'不可分配爲鍵入'任何[]'。 「響應」類型中缺少屬性「長度」。 –