я следующий код в контроллере, чтобы вернуть поток, который является 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