2010-01-18 8 views
11

jpeg를 스트림하는 aspx 페이지가 있습니다. 콘텐츠 형식을 설정 한 다음 응답 스트림에 씁니다. 이미지를 직접 보면 치료를 받지만 fancybox 1.2.6을 사용하면 다음과 같은 결과를 얻습니다. alt text http://img686.imageshack.us/img686/3348/fancybox.pngFancybox가 올바르게 스트리밍 된 이미지를 표시하지 않습니다.

fancybox 1.2.1을 사용하면 이미지가 표시됩니다.

다음은 이미지를 푸시하는 코드입니다.

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
     { 
      using (Stream responseStream = response.GetResponseStream()) 
      { 
       using (Image outImg = Image.FromStream(responseStream)) 
       { 
        Response.Clear(); 
        Response.ContentType = "image/jpeg"; 
        outImg.Save(Response.OutputStream, ImageFormat.Jpeg); 
       } 
      } 
     } 

어떤 도움이 필요합니까?

+0

감사합니다. 나는 같은 질문을 가지고있다. – daGrevis

+0

fancybox를 사용하도록 설정된 컨텐츠 유형은 무엇입니까? 내 콘텐츠 유형이 '이미지'가 아닌 '아약스'로 설정된 경우에도 비슷한 문제가 발생했습니다. – Ved

답변

1

fancybox 스크립트 파일 내에 정규식을 사용하여 해당 파일 확장명을 올바르게 처리 할 수 ​​있도록 수정해야했습니다.

imageRegExp = /\.(aspx|jpg|gif|png|bmp|jpeg)(.*)?$/i; 

지금은 aspx를 추가했지만 제대로 작동하려면 추가 작업이 필요합니다.

0

콘텐츠를 게시하는 서버 측 코드를 볼 수 있습니까? content-type이 제대로 설정되지 않았거나 데이터를 출력하기 전에 설정되었습니다. 새로운 Content-Type을 출력하기 전에 Response.Clear()를 사용해 볼 수 있습니다. (브라우저가 직접 열 때 내용 유형을 가정 할 수 있습니다.)

+0

코드를 게시물에 추가했습니다. – RubbleFord

15

이미지에도 확장명이 없으며 ashx 처리기에서 방금 방출되었습니다. 같은 fancybox 선언에 '이미지': 완벽하게 작동

$('.fb1').fancybox({'titlePosition':'inside','type':'image'}) 

우리는 '형식을'추가 끝났다.

+0

$ ('.fb1'). fancybox ({ 'type': 'image'})를 별도로 추가해야했습니다. – MrOli3000

2

Fancybox FAQ에 점 (6)를 참조하십시오

FancyBox이 URL에서 콘텐츠 형식을 gueses하지만 때로는 잘못 될 수 있습니다. 해결책은 유형을 강제로 지정하는 것입니다. $ (". selector"). fancybox ({ 'type': 'image'});

(필수 버전 1.3 이상)

관련 문제