我使用 ASP.NET(2.0) 将图像保存到 SQL Server 数据库中。
(imageData -> image) (imageType -> varchar) (imageLength -> bigint)
因此 imageData 将是“二进制数据”,imageType 将类似于“image/gif”,imageLength 将类似于“6458”......
是否可以从 ASP.NET 中的 VB.NET 代码获取图像高度和宽度? 我想让我的网页上的图片框形成与数据库中保存的实际图像的大小。
问候 艾蒂安
最佳答案
假设您有流中的数据:
System.Drawing.Image.FromStream(yourStream).Height
当您将图像保存到数据库时,您可能最好这样做,因为我确信加载图像对象并不便宜。
编辑
如果我们将此问题发送到电子邮件,那么下一个遇到此问题的人将不会有我们解决方案的记录。我们暂时将其保留在论坛中。
我们知道,我是一名 C# 开发人员,所以如果这是一个问题并且您需要帮助转换,请告诉我,我不会尝试记住 vb.net 语法。
我假设您有一个 IDataReader,它从数据库中提取 Image 或二进制 varbinary 等字段。您需要将其加载到派生自 System.IO.Stream 的对象中。就我们的目的而言,MemoryStream 是完美的选择,因为它不需要磁盘等后备存储。
System.IO.MemoryStream yourStream = new System.IO.MemoryStream(dr["imgLength"] as byte[]);
System.Drawing.Image yourImage=System.Drawing.Image.FromStream(yourStream);
yourImage.Height;
yourImage.width
关于asp.net - 图像保存到数据库时获取图像的高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/663025/