2012-07-18 5 views
1

iframe을 사용하여 동적으로 JPEG 이미지를 표시하고 싶지만 헤더는 "Content-type: image/jpeg"이어야합니다.iframe - 콘텐츠 유형 헤더 설정

이것이 가능합니까?

이 IE7에서 base64로 이미지를 표시하기위한 해결 방법이 될 것입니다 :

1) 얻을 기본 64 코드

2)는

3)를 생성 iframe이 이미지를 JS

+0

다른 웹 사이트에서 base64 이미지를 검색하고 있습니까? – Jay

+0

@ Jay No. 그러나 Base64를 디코딩하려면 내 사이트에 요청을 보내고 싶지 않습니다. –

답변

0

당신을 사용하여 디코딩 iframe 소스를 반환하는 서버에서 content-type을 반환하려고합니다. 즉

당신은 iframe이 닮은 경우 : <iframe src="http://www.foobar.com/test.php>, image/jpeg

+0

IE에 대한 몇 가지 자바 스크립트 코드가 필요합니다. iframe의 내용은 일반 텍스트가 아니라 jpeg 소스가 아닙니다. –

+0

Content-type 헤더에 관계없이 브라우저는 항상 HTML 콘텐츠로 변경하는 것 같습니다. 개발자 도구에서 관리자를 사용하여 확인할 수 있습니다. –

1

에 콘텐츠 형식을 설정해야 test.php은 아마 당신이 실제로 (특히 그것이 JS 부분 사용하여 디코딩 할) 필요하지 않았다하지만 당신은 시도 할 수 있습니다 어떤 것 this

var data64 = "your encoded staf..." 
    document.getElementById("divContent").innerHTML = "<iframe name='innerFrame' src='"+data64 +"'></iframe>"; 

분명히 위의 코드는 IE에서 작동하지 않습니다. 대신 아래 블록을 사용할 수 있습니다.

var data64 = "your encoded staf..." 
    document.getElementById("divContent").innerHTML = "<iframe name='innerFrame'></iframe>"; 
    var objDoc = window.frames[ "innerFrame" ].document; 
    objDoc.write("<img src='"+data64 +"' />"); 

이미지를 iframe 문서에 추가 할 수도 있습니다. 하지만 원본 페이지 (iframe의 상위 페이지)에 img 태그를 추가하면됩니다.

+0

IE7,8은 base64 "stuff"를 지원하지 않습니다. –