Используя asp.net core web api, я хочу, чтобы мой метод действия контроллера возвращал поток изображения jpeg.
В моей текущей реализации браузер отображает только строку json. Мое ожидание - увидеть изображение в браузере.
Во время отладки с использованием хром-инструментов для разработчиков я обнаружил, что тип контента по-прежнему
Content-Type:application/json; charset=utf-8
возвращенный в заголовке ответа, хотя в моем коде я вручную задал тип контента "image/jpeg".
Поиск решения. Мой веб-интерфейс выглядит так:
[HttpGet]
public async Task<HttpResponseMessage> Get()
{
var image = System.IO.File.OpenRead("C:\\test\random_image.jpeg");
var stream = new MemoryStream();
image.CopyTo(stream);
stream.Position = 0;
result.Content = new StreamContent(image);
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "random_image.jpeg";
result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
result.Content.Headers.ContentLength = stream.Length;
return result;
}