2017-09-19 82 views
2

目前,我想上傳一個文件到我們的服務器。我可以使用Http from @angular/http lib。如何使用HttpClient發送表單數據請求?

但是現在,我們想要使用改變HttpClient以與當前項目對齊。我沒有搜索,我找不到一個解決方案,如何將表單數據添加到發佈請求使用HttpClient

[更新]我使用的HTTP上傳文件 let formData: FormData = new FormData(); formData.append('file', file, file.name); this._http.post(base_api_url + uploadFileApi, formData)

有人能幫助我的代碼?

非常感謝。

回答

0

它可以寫成這樣簡單。路徑是請求路徑,數據是您的表單數據。

constructor(private httpClient: HttpClient) { 
      this.httpTimeout = 90000; 
      this.retryCount = 1; 
    } 

method(path: string, data: any) { 
    this.httpClient.post(path, data).retry(retry).timeout(timeout); 
} 
+0

謝謝您的回答,我嘗試但它沒有爲我工作。 –

+0

你得到的錯誤是什麼,請提供日誌 –

+1

這是我如何使用http from @ angular/http 讓formData:FormData = new FormData(); formData.append('file',file,file.name); this._http.post(base_api_url + uploadFileApi,formData).subscribe(){...} –

1

下面是完整的Angular服務做到這一點:

@Injectable() 
export class UploadService { 

    constructor(private http: HttpClient) {} 

    uploadFile(file: File): Observable<any> { 

    const formData = new FormData(); 
    formData.append('file', file); 

    const headers = new HttpHeaders({ 'enctype': 'multipart/form-data' }); 

    return this.http.post(apiUrl, formData, { headers: headers }); 

    } 
} 
相關問題