如何将其显示为图像我需要做什么?

时间:2013-04-18 13:51:25

标签: c# image-processing asp.net-mvc-4

我不知道该怎么做。这是搜索图像时的代码:

public ActionResult SearchImage() {    
    var path = @"\\jesus-pc\Frontera\IMAGENES\SINGNOS DISTINTIVOS\0\80HP23891268272.TIF";
    FileStream stream = new FileStream(path,FileMode.Open,FileAccess.Read);
    byte[] data = new byte[(int)stream.Length];
    stream.Read(data,0, data.Length);

    return Json(new { base64image = Convert.ToBase64String(data) }, JsonRequestBehavior.AllowGet);
}

我是用ajax做的:

$(".doc").dblclick(function () {                  
    $.ajax({
        url: "mainpage/SearchImage",
        contentType: 'application/json',
        dataType: "json",
        type: "get",
        success: function (data) {
            ModalWindow.open();
            document.getElementById("img_1").src = 
                "data:image/jpeg;base64"+data.base64image;
        }

})

但这是我在浏览器中得到的:

  

{base64image:   “SUkqAEgAAABXQU5HIFRJRkYgAQAwAAAAVGl0bGU6AEF1dGhvcjoAU3ViamVjdDoAS2V5d29yZHM6AENvbW1lbnRzOgAAAAAAEgD + AAQAAQ ...   AAFXEAAA ==“}

1 个答案:

答案 0 :(得分:0)

我相信这就是你要找的东西。

Can an ASP.NET MVC controller return an Image?

这与编码图像的base 64无关。 Base 64编码确实有效,如果这是您想要的,但看起来您只想从服务器提供要在客户端呈现的图像。您可以使用FileResult轻松完成此操作。

在您的情况下,您的图片的src标记应为src="mainpage/SearchImage",并且您的现有代码隐藏应替换为以下内容:

public ActionResult SearchImage(string id)
{
    var path = @"\\jesus-pc\Frontera\IMAGENES\SINGNOS DISTINTIVOS\0\80HP23891268272.TIF";
    return base.File(path, "image/tiff");
}