Проект, над которым я работаю, в основном имеет модуль для комментариев.Пользователи могут оставлять сообщения, а сообщения могут подвергаться комментариям.Я уже сделал большую часть, но застрял в той части, где мне нужно загрузить все изображения по всем опубликованным сообщениям и комментариям.
Изображение профиля каждого пользователя (миниатюра), которое я хочу отображать рядом с его / ее постом,Изображения хранятся в базе данных, а НЕ в файловой системе.Я пробовал много способов, и ни один из них, похоже, не работает.
вот как я получаю массив байтов (данные изображения) из базы данных
TestDBDataContext context1 = new TestDBDataContext();
var r = (from a in context1.ImageTables where a.Id == 8 select a).First();
MemoryStream stream = new MemoryStream(r.FileImage.ToArray());
Метод 1: (это не работает, по какой-то причине показывает невидимое изображение с расширением .aspx.jpeg, которое выглядит поврежденным)
HTML-тег изображения в веб-форме
<img src="WebForm1.aspx" alt="" />
код позади
var r = (from a in db.ImageTables where a.Id == 17 select a).FirstOrDefault();
if (r != null)
{
Response.ContentType = "image/jpeg";
Response.BinaryWrite(r.FileImage.ToArray());
return;
}
Метод 2 Попытка сохранить изображение как объект System.Drawing.Image и затем связать с ним источник изображения.Этот способ работает, но нет смысла иметь фотографии в базе данных, если я не могу получить и отобразить несколько изображений одновременно.
TestDBDataContext context1 = new TestDBDataContext();
var r = (from a in context1.ImageTables where a.Id == 8 select a).First();
MemoryStream stream = new MemoryStream(r.FileImage.ToArray());
System.Drawing.Image newImage;
newImage = System.Drawing.Image.FromStream(stream);
Random random = new Random();
newImage.Save("D:\\" + random.Next(1000, 5000) + ".jpeg");
Я надеюсь, что вы, ребята, готовы поставить меня на правильный путь здесь!Большое спасибо!