【问题标题】:Display image from IMAGE object in MVC在 MVC 中显示来自 IMAGE 对象的图像
【发布时间】:2009-09-04 14:28:27
【问题描述】:

我有一个 IMAGE 类型的对象,其中包含图像。 我想在 MVC 视图中显示图像以及其他控件。 我能想到的方法是将图像临时存储在磁盘上并设置img控件的src。 我相信会有更好的方法来做到这一点。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    在我看来,最简单的方法是从控制器返回 FileStreamResult

    public FileResult GetImage()
    {
        string path = "c:\images\image.jpg";
        return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg");
    }
    

    这是一个简单的实现,但为您尝试做的事情提供了一个起点。

    【讨论】:

      【解决方案2】:

      如果您有兴趣实现@Giovanni's 答案,那么我有一些代码可能对我提供的位于here 的过去答案有所帮助。 ImageHandler 类是您希望在 Giovanni 的案例中实现的示例。

      【讨论】:

        【解决方案3】:

        您可以编写一个处理程序来输出图像,然后在您的图像标签中引用流媒体。

        例如,您有http://myapp/media.ashx?imageId=10 流出图像。在您的页面中,您像这样引用: <img src="http://myapp/media.ashx?imageId=10"/>.

        这样您就不必临时写入磁盘。

        【讨论】:

          【解决方案4】:

          您可以将图像作为控制器操作的响应内容提供。此响应将图像类型作为内容类型。

          【讨论】:

            【解决方案5】:

            可以将图片转成Base64字符串,赋值给img标签的src属性。

            <img alt="Embedded Image" width="168" height="32" 
              src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgA..." />
            

            http://www.greywyvern.com/code/php/binary2base64

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-05-31
              • 1970-01-01
              • 2021-04-08
              • 1970-01-01
              • 1970-01-01
              • 2017-09-05
              • 2011-10-22
              • 1970-01-01
              相关资源
              最近更新 更多