【问题标题】:how to render image in view. value of image = byte[]. asp.net mvc如何在视图中渲染图像。图像的值 = 字节 []。 asp.net mvc
【发布时间】:2011-07-21 13:00:45
【问题描述】:

我在"image" 类型的数据库中有图像值。 在byte[] 类型下保存的视图中 我想在我的 asp.net mvc 视图中将其显示为图像。最好的就像图像一样。 图像保存在Model.ImageData.下时的值

我试图这样解决它:

<img height="450px" width="330px" src="<%= historyItem.ImageData %>" alt="image" />

但它不起作用。 怎么做?

【问题讨论】:

    标签: c# asp.net-mvc image


    【解决方案1】:

    您必须创建一个返回 FileResult 的单独操作方法。

    在 Stackoverflow 上应该有很多关于这个主题的不同问题。从这里尝试一下:
    https://stackoverflow.com/search?q=fileresult+mvc+image

    【讨论】:

      【解决方案2】:

      您的方法的问题在于,您已将图像数据作为视图模型的一部分包含在内,但 &lt;img&gt; 标记需要 src 属性中的 URL。一些浏览器支持将base64 embedded images 放入 HTML 中,但我建议您避免使用这种方法,因为您的标记量可能会增加。

      因此,您将需要一个为图像提供服务的控制器操作:

      public ActionResult Image()
      {
          byte[] imageData = ...
          return File(imageData, "image/png");
      }
      

      然后将img标签的src属性指向这个控制器动作:

      <img height="450px" width="330px" src="<%= Url.Action("Image") %>" alt="image" />
      

      【讨论】:

      • @Daniel A. White,不是吗?这是File 方法的第二个参数。
      • imageData 可能代表 JPG 或 GIF。
      • @Daniel A. White,当然,认为这很明显。
      【解决方案3】:

      可能存在嵌入图像的解决方案。但除此之外,您还需要创建另一个操作来下载图像:

      <img height="450px" width="330px" 
           src="<%: Url.Action("Image", "Controller", new { id=Model.ImageId }) %>"
           alt="image" />
      

      在控制器类中:

      public FileResult Image(int id)
      {
        byte[] imageData = getImageBytes(id);
        string mimeType = getMimeType(id);
      
        return new FileStreamResult(new System.IO.MemoryStream(imageData), mimeType );
      }
      

      【讨论】:

        【解决方案4】:

        我不是 ASP.NET 方面的专家。也就是说,您可以将其转换为图像或位图吗?

        在 WinForm 或后面的 ASP.NET 代码中,它看起来像......

        Image img = historyItem.ImageData as Image;
        if (img != null) {
          // Do Something
        }
        

        ~乔

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-07
          • 1970-01-01
          • 1970-01-01
          • 2017-11-16
          • 1970-01-01
          相关资源
          最近更新 更多