asp.net - 图像保存到数据库时获取图像的高度和宽度

标签 asp.net sql sql-server vb.net

我使用 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/

相关文章:

mysql - 使用 'like' 查找 sql 中的整个单词

c# - 如何以编程方式检查 SSAS 数据库/多维数据集是否正在处理?

c# - 页面重定向到上一页?

mysql - 比 NOT IN(嵌套选择)更有效的查询

c# - 我们可以将列表框作为 Gridview 中的字段,并且还可以在 Gridview 中设置可编辑字段吗?

mysql - 如何比较同一个表的行并将另一个表的权重应用于每列

php - CakePHP:加入操作不起作用

sql-server - 例如,nvarchar(max) 的性能是否低于 nvarchar(100)?

javascript - 如何在Java脚本中消失密码文本框的默认文本?

javascript - 使用 javascript 扩展上方的下拉区域而不是下方