2009-04-21 6 views
3

zip 파일을 데이터베이스에 저장하고이 파일을 검색해야하는 이전 응용 프로그램을 상속 받았습니다. 파이어 폭스에서 잘 작동, 나는 그 안에있는 각 파일을 열고 우편 번호를 열 수 있습니다. IE7에서 실행할 때 다음 오류가 발생합니다.IE7에서 zip 파일 쓰기가 작동하지 않습니다.

Internet Explorer는 localhost에서 ProductContentFormImage.aspx를 다운로드 할 수 없습니다.

Internet Explorer에서이 인터넷 사이트를 열지 못했습니다. 요청한 사이트를 사용할 수 없거나 찾을 수 없습니다. 나중에 다시 시도 해주십시오.

아래 코드를 사용하고 있습니다.

byte[] content = (byte[])Session["contentBinary"]; 

Response.ClearContent(); 
Response.ClearHeaders(); 
Response.Clear(); 

Response.Buffer = true; 
Response.Expires = 0; 
Response.ContentType = "application/zip"; 
Response.AddHeader("Content-Length", content.Length.ToString()); 
Response.AddHeader("Content-Disposition", "attachment; filename=content.zip"); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.BinaryWrite(content); 
Response.End(); 

답변

6

IE와 관련된 이상한 작은 버그입니다. 당신이 0

에 만료를 설정할 때

은 기본적으로 문제 자체를 제공

IE는 기본적으로 다음과 같은 과정을 통해 진행됩니다

  1. IE는 파일이 "다운로드"해야 할 일이라고 판단, 그러면 IE에서 파일 다운로드 팝업을 엽니 다.

  2. 사용자가 "열기"또는 "저장"을 클릭하면 IE는 파일을 다운로드하려고 시도하지만 즉시 만료되도록 설정되어 있기 때문에 IE가 작동합니다.

만료 시간을 1 분과 같이 0이 아닌 작은 숫자로 설정하면 문제가 해결됩니다.

1

내가 발견 한 그 개인 수정에 문제

context.Response.Cache.SetCacheability(HttpCacheability.Private); 
를 HttpCacheability 설정
관련 문제