我曾經在一個控制器下面的代碼返回流是一個Excel文件來下載客戶端:控制器歸國HttpResponseMessage不設置內容類型正確
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
MemoryStream memStream = ReportExporter.ExportReport(analystReport);
response.Content = new StreamContent(memStream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = saveAsFileName;
return response;
當我做客戶端的請求一邊它只是讓我回來的響應消息的包裝:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=.xlsx
}
我相信這可能是由於回來的文字,因爲這頭是我在Chrome中看到:
Content-Type:text/html; charset=utf-8
我無法弄清楚這裏發生了什麼,嘗試了各種各樣的事情。
什麼是'response'類型? – erikscandola
對不起還有一段代碼加了回來,它是一個HttpResponseMessage –
你通常也應該包含控制器方法聲明。它確定/指示您的代碼所需的接口。 – montewhizdoh