Controller для получения изображения:Получение изображений из базы данных с помощью вызова JQuery AJAX
public class PicturesSmallController : Controller
{
public ActionResult Details(int id)
{
PictureSmallManager m = new PictureSmallManager();
PictureSmall p = m.Load(id);
ImageFormat imageFormat = ImageHelper.ConvertToImageFormat(p.ContentType);
return p.Trunk != null ? File(p.Trunk, p.ContentType) : null;
}
}
и вид:
<script type="text/javascript">
$(document).ready(function() {
var picsSmall = $('#picturesSmall');
picsSmall.toggle();
var url = '@Url.Action("Details", "PicsSmall")';
var ai = {
id: 69
};
$.ajax({
type: "POST",
url: url,
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(ai),
success: function (returndata) {
picsSmall.append($('<img/>', {
src: returndata,
alt: 'some text'
}));
select.show('slow');
}
}
);
});
</script>
<div id="picturesSmall"></div>
<div id="picturesBig"></div>
в результате я не вижу каких-либо изображение на странице, но я получил тот же результат в FireBug:
<div id="picsSmall" style="display: block;">
<img src="�����JFIF��`�`���� ...... �d��:1�g�" alt="some text">
</div>
у меня есть два вопроса:
- Я хотел был бы показать изображение правильно. Не могли бы вы рассказать мне, что здесь не так? Я плохо разбираюсь в mvc.
- У меня есть два одинаковых изображения, первый из которых маленький, а второй большой. Я хотел бы показать большое изображение, когда пользователь нажимает на маленький. Каков наилучший способ его реализации?
Если я правильно понял, когда изображение загружено на клиентскую сторону, я должен сохранить его в ViewBag. Если это правильно, что лучше всего синхронизировать маленькие и большие изображения (следует ли использовать массив или объект на стороне клиента)? Есть ли другие способы? Извините, это выглядит сложнее, чем я ожидал.
Почему бы не написать общий обработчик HTTP и использовать его в качестве источника для IMG? Было бы проще и без каких-либо ненужных осложнений. – Dimitri
src = «URL-адрес YourFIle здесь», а не сами данные изображения. Посмотрите, что возвращает File(): http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html –
да, но будет ссылка на контроллер, например/PicsSmall/Подробнее/69 Извините за глупый вопрос, но я не знаю, где изображение, потому что это только запрос к контроллеру – user1482281