Я думал о том, чтобы сделать это, но у меня только один тип изображения, обслуживаемый таким образом. Я хотел исключить логику преобразования из ImageResult, чтобы результат был как можно более повторным. а под номером 2 я просто скопировал код и изменил его так, чтобы он принимал MemoryStream так же, как в настоящее время он принимает другие параметры.
я есть изображения в базе данных, и я хочу вернуть изображение для просмотра из действия. Вот мое действие.
public FileContentResult Index(ItemImageRequest request)
{
var result = queueService.GetItemImage(request);
if (result.TotalResults == 0)
return File(new byte[0], "image/jpeg");
var image = result.FirstResult;
return File(image.Image, "image/tif");
}
Я также попробовал этот код
public FileStreamResult Index(ItemImageRequest request)
{
//retrieval omitted
var image = result.FirstResult;
System.IO.Stream stream = new System.IO.MemoryStream(image.Image);
return new FileStreamResult(stream, "image/tif");
}
Когда я перехожу к своему действию в браузере, он запрашивает загрузку. Я не хочу, чтобы он загружался, я хочу, чтобы он отображался в браузере. Как мне это сделать?