отображение изображения из базы данных с помощью ajax - PullRequest
1 голос
/ 16 декабря 2009

Мне просто интересно, можно ли сделать 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" })%>

Можно ли загрузить другое изображение из GetImage (int ID), используя ajax?

Ответы [ 2 ]

3 голосов
/ 16 декабря 2009

Любой запрос HttpRequest, который переходит к методу GetImage (), создает изображение в формате JPEG. Если вы динамически создаете другой тег изображения с помощью javascript и устанавливаете для его атрибута src значение «/ Photos / GetImage? Id = x», то к этому контроллеру будет сделан другой запрос HttpRequest и будет создано другое изображение.

РЕДАКТИРОВАТЬ: Вы отметили jquery в своем посте, так что вот jquery для чего-то вроде этого:

var newImage = $('<img />');
newImage.attr('src', '/Photos/GetImage?id=' + someIntegerHere);
$('#mycontainer').append(newImage);
0 голосов
/ 16 декабря 2009

Если вы поместите изображение в частичное представление, которое включает в себя код, который вы должны показать изображение, то в вашем контроллере вы можете сделать что-то вроде return RenderPartial ("imagectrl", Model.Photo.Id.ToString ());

Я думаю, это должно работать нормально.

Это не проверено, но я думаю, что именно так я реализовал то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...