gpt4 book ai didi

c# - 使用 Linq to SQL 从数据库中检索图像

转载 作者:太空狗 更新时间:2023-10-29 21:07:32 25 4
gpt4 key购买 nike

在我的数据库中,我以“图像”数据类型存储图像,显示为二进制代码。我现在想从一列中检索所有图像并使用 C# 在 asp.net 页面上显示它们。

databaseDataContext db = new databaseDataContext();

var images = from Picture p in db.Pictures
select p.pictureThumb;

然后我用这个:

    foreach (Picture p in images)
{
galleryImages.Controls.Add(p);
}

但这行不通,因为 Binary 不能转换为 Picture。我用谷歌搜索了一下,发现我必须先转换为 Byte,然后再转换为图像?不过,我找不到有关如何执行此操作的示例。

最佳答案

应该这样做:

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);
}

请注意,Image.FromStream 拥有流的所有权 - 它只是一个 MemoryStream,但出于各种原因,请务必确保处理图像。


编辑:啊...我没有意识到这是针对 ASP.NET 的。这让事情变得更难了 - 因为 HTML 将包含 URL,然后您需要能够稍后获取数据。

图片是否有某种 ID?如果是这样,请获取该数据而不是实际数据,然后设置一个 URL,该 URL 能够根据 ID 提供任何缩略图(通过从数据库中获取它并使用适当的内容类型提供它)。

关于c# - 使用 Linq to SQL 从数据库中检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1266223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com