如何在网页上显示存储在varbinary(max)中的图像?我环顾四周,很多人建议使用Image server控件,但我显示的图像数量可变,所以我不确定如何使用控件?
我还需要能够调整大小并检查扩展名。
答案 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