У меня есть поле (тип varbinary) в моей базе данных, которое представляет изображение. Я хотел бы прочитать это изображение и показать его на мой взгляд. Я прочитал из базы данных, используя ADO.
в моей службе данных у меня есть (это часть частного веб-проекта API):
img= (byte []) reader["Image"];
я конвертирую varbinary в массив байтов
мой взгляд в основном:
<img src="data:image/tiff;base64, @Model.ImageSource" />
но в моем контроллере я не могу создать строку base64 для присваивания тегу img.
Другая проблема может быть в том, что изображение хранится в формате TIFF.
Я попытался в контроллере сделать (это в другом проекте MVC, который вызывает веб-API):
// call my service that return me image
var result = await client.GetAsync("ImagesController/GetImageBytes/" + id);
// ImageSource is a property of my viewmodel
ImageSource=Convert.ToBase64String(result.Content.ReadAsStreamAsync().Result)
// or
ImageSource= Convert.ToBase64String(JsonConvert.DeserializeObject<Byte[]>(result.Content.ReadAsStringAsync().Result))
// or
ImageSource= Convert.ToBase64String(result.Content.ReadAsByteArrayAsync().Result)
но, несмотря на сотни попыток (на самом деле), я не могу ничего визуализировать. Мой вид показать только заполнитель изображения.
Кто-нибудь может мне помочь?