Veritabanımda, görüntüleri "resim" veri türünde saklıyorum, ikili kod olarak gösteriliyor. Şimdi tüm görüntüleri bir sütundan almak ve C# ile asp.net sayfasında göstermeye çalışıyorum.Linq to SQL ile veri tabanından bir görüntüyü alma
Ama İkili Resmi dönüştürülemez çünkü bu işe yaramazsa:
databaseDataContext db = new databaseDataContext();
var images = from Picture p in db.Pictures
select p.pictureThumb;
sonra bu kullanırlar. Bunu Googled ve Byte'a ve sonra da görüntüye vermem gerektiğini öğrendim. Bunun nasıl yapılacağına dair örnekler bulamıyorum. yine sadece
MemoryStream
, ama çeşitli nedenlerle, görüntünün elden emin olabilirim -
Image.FromStream
akımının sahipliğini alır
databaseDataContext db = new databaseDataContext();
var images = from p in db.Pictures
select Image.FromStream(new MemoryStream(p.pictureThumb.ToArray());
foreach (Image image in images)
{
galleryImages.Controls.Add(image);
}
Not olun:
Teşekkürler, bu çok fazla sorun yaşadı. Döngü ile ilgili bazı sorunlarım var, "En iyi aşırı yüklenmiş yöntem eşleştirmesi [...] bazı geçersiz argümanlara sahip". galleryImages bir PlaceHolder'ı ifade eder, ancak diğer olasılıklar (Literal, Resim, vb.) aynı hatayı verir. PLUS the Add (resim) bana "System.Drawing.Image 'kaynağından' System.Web.UI.Control '' 'a dönüştürülemiyor. Bahse girerim oldukça bariz bir şekilde .NET ile çok tecrübesizim: o – Kablam
Bunu yaptı :) Veri tabanından pictureID'i al, sonra gerçek imagedata'yı çıkarmak için getImage.aspx.cs 'i kullan. ContentType = "image/jpeg" kullanın; ve BinaryWrite. Teşekkürler Jon! – Kablam
Cool - "çok deneyimsiz" olduğunu iddia eden biri için gerçekten hızlı bir dönüş süresiydi :) –