Kab*_*lam 6 .net c# linq linq-to-sql
在我的数据库中,我将图像存储在"图像"数据类型中,显示为二进制代码.我现在想从一列中检索所有图像,并使用C#将它们显示在asp.net页面上.
databaseDataContext db = new databaseDataContext();
var images = from Picture p in db.Pictures
select p.pictureThumb;
Run Code Online (Sandbox Code Playgroud)
然后我用这个:
foreach (Picture p in images)
{
galleryImages.Controls.Add(p);
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为Binary无法转换为Picture.我用谷歌搜索了这个,发现我必须转向Byte然后成像?我找不到如何做到这一点的例子.
Jon*_*eet 12
这应该这样做:
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);
}
Run Code Online (Sandbox Code Playgroud)
请注意,Image.FromStream
获取流的所有权 - 它只是一个MemoryStream
,但确保您出于各种原因处理图像.
编辑:啊......我没有意识到这是针对ASP.NET的.这会让事情变得更难 - 因为HTML将包含URL,然后您需要能够以后获取数据.
图片是否有某种ID?如果是这样,请获取该数据而不是实际数据,然后设置一个URL,该URL能够根据ID提供任何缩略图(通过从数据库中提取并仅使用适当的内容类型提供).
归档时间: |
|
查看次数: |
11585 次 |
最近记录: |