【问题标题】:How to display images from sql server on webpage in c#?如何在c#的网页上显示来自sql server的图像?
【发布时间】:2011-12-13 19:22:24
【问题描述】:

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

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

【问题讨论】:

  • 你是如何访问数据库的?

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


【解决方案1】:

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

【讨论】:

  • +1。一个完整记录的文章的链接很好,展示了如何一步一步地做到这一点。
【解决方案2】:

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

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

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

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

只要返回正确的内容类型,图片标签源是aspx页面没关系。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2018-12-03
        • 2013-12-03
        • 1970-01-01
        • 2017-10-31
        • 2011-05-04
        • 1970-01-01
        • 2015-03-27
        • 1970-01-01
        • 2014-11-07
        相关资源
        最近更新 更多