私はクライアント側でダウンロードするために、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
ここで何が起こっているのか、さまざまなことを試してみることはできません。
「応答」の種類は何ですか? – erikscandola
残念ながら、コードの一部が欠落していました.HttpResponseMessage –
通常はコントローラメソッド宣言も含めるべきです。それはあなたのコードに必要なインタフェースを決定する/指示します。 – montewhizdoh