Показать изображение в байтах [] с помощью jquery

#jquery #image #asp.net-mvc-2

#jquery #изображение #asp.net-mvc-2

Вопрос:

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

Ответ №1:

Для этого можно использовать 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 %>" />
  

Ответ №2:

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

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