【发布时间】:2012-03-21 17:46:01
【问题描述】:
我已将图像作为 BLOB (Varbinary(max)) 存储在数据库中。我将图像编码为 .NET Bitmap TIFF。在页面上显示图像时,我可以将内容类型设置为 JPEG、GIF 等,并且图像始终正确显示在网页上。如果我将内容类型设置为 TIFF(因为它被编码为 TIF),我希望图像只会正确显示。我正在使用 Bitmap 类。我错过了什么吗?
这里有一些代码:
objCmd.CommandText = "SELECT Img FROM dbImage where id = 1
dr = objCmd.ExecuteReader
dr.Read()
screenshot = CType(dr("screenshot"), Byte())
Response.ContentType = "image/tiff"
Response.BinaryWrite(screenshot)
Response.Flush()
Response.End()
BLOB 图像被编码为 TIFF。但是,在提取图像时,它将以 JPG 和 GIF 格式显示。例如,如果我将 response.contenttype 更改为“image/jpg”,那么它仍然会显示。问题是:为什么它仍然显示?我在图像处理方面没有太多经验。
【问题讨论】:
-
您是否尝试通过设置 Content-Type 标头重新编码图像?或者只是想知道为什么设置它不会破坏您的浏览器?
-
@Boo,谢谢。是的,我正在设置内容类型,然后使用 BinaryWrite 显示图像(仅用于测试 - 实时系统将具有 ASHX 图像处理程序)。
-
那么我问的问题是指你的“是”是指什么?
-
@boo,谢谢。我似乎没有将内容类型设置为 jpg、png 等,图像始终显示。它不会破坏浏览器。
-
那么问题到底是什么?你想让它坏掉吗?