我不知道该怎么做。这是搜索图像时的代码:
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 ==“}
答案 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");
}