Показать byte [] изображение с помощью jquery - PullRequest
0 голосов
/ 13 октября 2011

Я должен показать изображение в его реальном размере в виде div в том же виде, когда щелкнул по его изображению большого пальца.Я объясню мой сценарий.Я использую приложение asp.net MVC 2.На мой взгляд, у меня есть изображения большого пальца изображений, которые хранятся в базе данных как byte [], а также fileId как скрытое поле.При нажатии на изображение большого пальца мне нужно показать фактическое изображение, которое хранится в базе данных. Фактическое изображение должно быть показано в виде div в том же виде, который должен отображаться при нажатии на изображение большого пальца.Это должно происходить с использованием jquery.Спасибо, что заглянули в это.

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

Вы можете использовать HttpHandler для этого.Добавьте универсальный обработчик в ваш проект и сделайте что-то вроде следующего в методе ProcessRequest

            context.Response.Clear();

            var imageID = context.Request.QueryString["imageID"];   

            MemoryStream stream = new MemoryStream();   

            try
            {
                byte[] buffer = GetYourImageBuffer(imageID);                    

                if(buffer != null)
                {
                    stream = new MemoryStream(buffer);
                    Image image = Image.FromStream(stream);
                    context.Response.ContentType = "image/jpeg"; //Or what ever
                    image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
                }                    
            }
            finally
            {
                context.Response.Flush();
                stream.Close();
            }

Тогда в вашем html вы сможете вызвать это по ...

<img src="ImageHandler.ashx?imageID=<%: Model.Image.ID %>" />
0 голосов
/ 13 октября 2011

Если вы храните изображения в байтовом формате в базе данных, вам сначала нужно сохранить изображение в каталоге сервера, а после сохранения файла изображения отобразить его с помощью jquery. Вы также можете использовать плагины, такие как лайтбокс, для более привлекательного отображения изображения.

Таким образом, вы сможете показывать изображение в том же виде, в котором вы используете jquery и делаете AJAX-запрос для получения изображения.

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