我正在Angular 2上做一個項目,我正在開始實施一個下載方法,但在測試時我注意到我的服務器沒有獲取文件的路徑。我可能犯了一個我沒有看到的錯誤。 這是我的代碼:Angular2 - 沒有收到服務器上的帖子參數
.component.ts
downloadFile(filePath: string): void{
this.dataImportService.downloadFile(filePath)
.then(data => {
console.log(data);
});
}
dataImportService.ts
downloadFile(filePath: string): any{
return this.http.post(SERVICE_URL + 'DataImport/downloadFile', filePath)
.toPromise()
.then(response => {
return response.json().ReturnStatus.ReturnObject;
})
.catch(this.handleError);
}
分析鉻控制檯上的帖子,正在發送的文件路徑,但是,當它得到我的服務器(C#API)它爲空。
DataImportController.cs
[HttpPost]
public void downloadFile(string path)
{
try
{
string extension = Path.GetExtension(path).Substring(1);
string fileName = Path.GetFileName(path);
HttpResponse response = System.Web.HttpContext.Current.Response;
response.Clear();
response.ClearHeaders();
response.AddHeader("Content-Type", Utils.MimeTypesConverter.GetMimeType(extension));
response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
response.TransmitFile(Server.MapPath(path));
response.End();
}
catch (Exception ex)
{
Response.Write(ex.Message);
return;
}
}
有什麼建議? 非常感謝您的幫助。
通過查詢字符串,'this.http.post(SERVICE_URL + 'DataImport/downloadFile?文件路徑=' + filePath' – anoop
通並改變方法得到?因爲http.post需要更多的參數 –