我只是想知道是否有可能从视图中发出一个ajax请求,直接将图像数据注入图像标记。
为了提供更多细节,我在stackoverflow中借用了一些代码。
控制器;
public FileResult GetImage(int id)
{
return File(PhotoHelper.GetImageBytes(id), "image/jpeg");
}
查看:
<%= Html.Image("img", "/Photos/GetImage?id=" + Model.Photo.Id.ToString(), "BioPic", new { Width = "350px" })%>
是否可以使用ajax从GetImage(int ID)加载另一个另一个图像?
答案 0 :(得分:3)
任何路由到GetImage()方法的HttpRequest都会生成一个jpeg图像。如果您使用javascript动态创建另一个图像标记并将其src属性设置为“/ Photos / GetImage?id = x”,则将对该控制器执行另一个HttpRequest,并将创建另一个图像。
编辑:您在帖子中标记了jquery,所以这里是jquery:var newImage = $('<img />');
newImage.attr('src', '/Photos/GetImage?id=' + someIntegerHere);
$('#mycontainer').append(newImage);
答案 1 :(得分:0)
如果将图像放在包含必须显示图像的代码的局部视图中,则可以在控制器中执行返回RenderPartial(“imagectrl”,Model.Photo.Id.ToString());
我认为应该可以正常工作。
这是未经测试的,但我认为这就是我如何实现同样的事情。