クライアント側でダウンロードする Excel ファイルであるストリームを返すコントローラーに次のコードがあります。
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
いろいろ試してみても、ここで何が起こっているのかわかりません。