从Oracle返回Blob图像

时间:2018-01-05 19:31:54

标签: c# asp.net-mvc

我创建了一个控制器和一个视图,用于从我的数据库中获取一个blob格式的图像。但是,图像未加载到视图中(我调用一个方法来调用此视图)。 我有控制器Image(使用GetImage方法),ReadyDrive控制器和ReadyDelivery视图。在ReadyDate视图中,我传递参数以获取GetImage方法中的ID。

Controller Imagem:

  public ActionResult Index()  
{  
    return View();  
}  
public ActionResult GetImagem(int id)  
{  
    Entities1 tabela = new Entities1();  

    byte[] BlobImg = tabela.DATABINARY.Where(p => p.ID.Equals(id)).Select(p => p.DATA).FirstOrDefault();  
    return File(BlobImg, "image/png");  
}  

Controller ProntaEntrega:

public ActionResult Index(int? reduzido=null)  
  {  
      Entities1 Estoque = new Entities1();  
      List<V500_ESTOQUE_PE_WEB> ProntaE = (from a in Estoque.V500_ESTOQUE_PE_WEB select a).OrderByDescending(x => x.TOTAL_KG_PE).ToList()  
                                         .Where(x => reduzido != null ? x.COD_REDUZIDO.Equals(reduzido) : true).ToList();  


      return View(ProntaE);  
  } 

查看ProntaEntrega(其中一部分):

<tbody>  
    @foreach (var item in Model)  
    {  

        <tr>  
            <td class="text-left" width="30%">  
                @Html.DisplayFor(d => item.COD_REDUZIDO)  
            </td>  
            <td class="text-left">  
                @Html.DisplayFor(d => item.DESC_ARTIGO)  
            </td>  
            <td class="text-right">  
                @Html.DisplayFor(d => item.TOTAL_KG_PE)  
            </td>  
            <td>  
                <img src="@Url.Action("GetImage", "Imagem", new { id = @item.IDBLOB})" width=50 />  
            </td>  
        </tr>  

    }  
</tbody> 
有人帮我吗? TKS!

1 个答案:

答案 0 :(得分:0)

转换base64中的blob。设置图像src,如下所示

<img src="data:image/jpeg;base64,iVBORw0KGg" />

reference