我曾经在一个控制器下面的代码返回流是一个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