2008-11-14 4 views
0

다음 코드를 사용하여 팝업 웹에 이미지 파일을 쓰는 Asp.Net 1.1 응용 프로그램이 있습니다. 페이지.asp.net 1.1 및 IE7에서 Response.ContentType = "image/tiff"설정은 tif 파일을 표시하지 않습니다.

Response.ContentType="image/tiff" 'Only for Tif files 
    Dim objStream As Object 
    objStream = Server.CreateObject("ADODB.Stream") 
    objStream.open() 
    objStream.type = 1 
    objStream.loadfromfile(localfile) 
    Response.BinaryWrite(objStream.read) 

나는 이것을 TIF 파일로 테스트하고있다. 파일은 IE6 및 Safari에서 올바르게 표시되지만 IE7에서는 표시되지 않으며 웹 페이지로 돌아 오는 것 같지 않습니다. jpg, gif 확장자를 가진 파일이 올바르게 표시되고 있습니다. 여기에 무슨 문제가 있을까요?

답변

0

Content-Disposition을 인라인으로 설정 했습니까?

Response.AppendHeader("Content-Disposition", "inline"); 
0

그래, 지금 시도해 보았습니다. 작동하지 않습니다. 그것은 tiff와 ​​관련이 있습니다. 3 대신 4 글자를 가졌습니다. IE7이 4 글자 확장을 지원하지 않는 곳을 읽었습니다.

1

음, 사용자에 따라 다릅니다. 그러나 이상적으로는 레거시 브라우저를 지원하려면 TIFF를 처리 할 수 ​​있다고 가정해서는 안됩니다.

최소한 TIFF를로드하고 첫 번째 프레임 (페이지)을 선택하고 DrawImage를 새 비트 맵으로 만들고 비트 맵을 JPG로 메모리 스트림에 저장 한 다음 Response로 보냅니다.

.NET의 GDI + 이미지 조작에 익숙하지 않거나 어렵게 들리는 경우 http://www.bobpowell.net/faqmain.htm을 참조하십시오. 각 단계는 몇 줄의 코드만으로 수행 할 수 있습니다. GDI +를 아직 모르는 경우 웹 개발자를위한 학습 가치가 있습니다. 교육만으로도 그만한 가치가있는 (그러나 안전한) 방법이 될 수 있습니다. 그리고 만약 당신이 이미 그것을 안다면 1/2 시간 정도 걸릴 것입니다.

다중 페이지 TIFF를 표시해야하고 사용자가 볼 페이지를 제어하게하려면 페이지 번호를 설정하는 사용자 인터페이스를 만들어야합니다. 한 페이지에 여러 개의 TIFF를 표시하려고하면 그다지 중요하지 않을 수 있으므로 첫 번째 웹 페이지에 모든 tiff # 1 페이지를 표시하거나 다른 웹 페이지로 연결하여 후속 tiff 페이지를 볼 수 있습니다. 이전/다음 tiff 페이지 버튼. URL 매개 변수로 파일 이름과 현재 페이지 번호 (이전/다음 버튼이 +/- 한 페이지 번호를 가리킴)를 허용하는 일반 페이지 여야합니다.

사진 대신 텍스트 문서 만 표시하려면 TIFF 대신 단일 프레임 GIF를 브라우저에 보내어 텍스트의 Jpegginess를 줄이십시오. 그러나 예전에는 사진이 GIF로보기가 어려웠습니다.