Проблема при работе с Jquery colorbox и динамическими изображениями, считываемыми через Aspx

#c# #jquery #asp.net #colorbox

#c# #jquery #asp.net #colorbox

Вопрос:

для отображения полноразмерных изображений на моем сайте я решил использовать Jquery.colorbox, это дополнение хорошо работает со статическим расположением изображения, таким как :

 <a rel="ex1" href="http://www.blah.com/image.jpg"><img src="http://www.blah.com/image_thumb.jpg"/></a>
  

но когда я хочу получить изображения из директории, используя двоичное чтение / запись, этот плагин показывает мне данные мусора, а не скомпилированный jpg / image, как показано ниже :

 <a rel="ex1" href="http://www.blah.com/getimage.aspx?id=1234"><img src="http://www.blah.com/getimage.aspx?id=1234"/></a>
  

и вот мой фрагмент кода для получения динамического изображения :

 thumbLocation = DataHelper.GetItemPicture(recordID);
using (FileStream IMG = new FileStream(thumbLocation, FileMode.Open))
                        {
                            //FileStream IMG = new FileStream(thumbLocation, FileMode.Open);
                            byte[] buffer = new byte[IMG.Length];
                            IMG.Read(buffer, 0, (int)IMG.Length);
                            Response.Clear();
                            Response.ContentType = "image/JPEG";
                            Response.AddHeader("Content-Length", buffer.Length.ToString());
                            Response.BinaryWrite(buffer);
                            Response.End();}
  

как я могу устранить проблему?

Комментарии:

1. Вы проверили, не связана ли проблема с getimage.aspx ? Кажется, это работает нормально?

Ответ №1:

Используйте свойство photo colorbox. Пример:

$(‘a.example’).colorbox({фото: true});

Причина в том, что регулярное выражение colorbox для автоматического определения URL-адресов изображений не работает для такого типа URL (не содержит расширения типа изображения).

Комментарии:

1. @austin — это то же самое, что и мой второй вариант, при котором добавление .jpg в конец URL-адреса имело бы тот же эффект.

2. потрясающе! я боролся с этим последние 2 часа. это сэкономит мне время.

Ответ №2:

Некоторые идеи

  • Измените тип содержимого на "image/jpeg" (заглавные буквы могут иметь значение)

  • Добавьте следующее в конец URL-адреса amp;thisisan.jpg (Некоторые браузеры не будут создавать изображение, если они не видят этого в конце URL-адреса)

  • Протестируйте, поместив URL изображения непосредственно в браузер.