Я знаю, что это сообщение довольно старое, но оно было одним из первых, которое появилось, когда я пытался выяснить, как это сделать, по большей части ответ Авги был правильным, но большинство сборок устарели
i download mvc2 preview 1
не нужно беспокоиться о материале microsoft.web.mvc, я все равно не смог найти ничего из этого и искал около часа, пытаясь выяснить, во что это превратилось
это код, который я написал, который работает для меня для отображения изображения из поля базы данных типа image
в моем классе контроллера, который я назвал store, у меня есть это
public ActionResult GetImage(int id)
{
byte[] imageData = storeRepository.ReturnImage(id);
//instead of what augi wrote using the binarystreamresult this was the closest thing i found so i am assuming that this is what it evolved into
return new FileStreamResult(new System.IO.MemoryStream(imageData), "image/jpeg");
}
//in my repository class where i have all the methods for accessing data i have this
public byte[] ReturnImage(int id)
{
// i tried his way of selecting the right record and preforming the toArray method in the return statment
// but it kept giving me an error about converting linq.binary to byte[] tried a cast that didnt work so i came up with this
byte[] imageData = GetProduct(id).ProductImage.ToArray();
return imageData;
}
Теперь для моей страницы просмотра я попробовал все способы, которые я нашел в этих формах, и ничего не получилось, я предполагаю, что они просто устарели, поэтому я примерил прихоть самое простое из всех, что я мог придумать, и это сработало отлично
<image src='/store/getimage/<%= Html.Encode(Model.productID) %>' alt="" />
Я продолжал получать сообщение об ошибке по поводу размещения тегов img, поэтому убедитесь, что вы изменили изображение выше на img
надеюсь, что это поможет кому-нибудь весь день охотиться за текущим ответом
http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30886