如何在c#的网页上显示sql server的图像?

时间:2011-12-13 19:22:25

标签: c# asp.net sql-server image

如何在网页上显示存储在varbinary(max)中的图像?我环顾四周,很多人建议使用Image server控件,但我显示的图像数量可变,所以我不确定如何使用控件?

我还需要能够调整大小并检查扩展名。

4 个答案:

答案 0 :(得分:1)

Here是一个很好的链接,可以让您开始尝试实现的目标。

答案 1 :(得分:1)

通常,您可以创建一个页面,直接将数据库中的字节写入响应流,然后将响应内容类型设置为适当的图像格式。例如:

Response.Write(myDbByteArray);
Response.ContentType = "image/png";
Response.End();

然后你只需将图像(甚至基本标签)指向你的网址:

<img src="Path/ToMyPage.aspx?imgId=1" alt="Some Image" />

只要您返回正确的内容类型,图像标记源是aspx页面就没有关系。

答案 2 :(得分:1)

Tejs为您提供了它的要点(即将图像写入响应流),但它留下了有趣的花絮。本文Download and Upload images from SQL Server via ASP.Net MVC展示了如何使用高效的流语义和没有中间文件与SQL Server之间传输图像。您应该尽量避免将图像转换为byte[],因为大多数解决方案天真地建议,因为它会导致巨大的内存消耗并且无法扩展。

答案 3 :(得分:0)

我正在使用图像的通用处理程序(ashx),在该处理程序中我使用response.binarywrite