2011-12-20 3 views
0

나는 aspx 페이지에 iframe에 pdf를 표시하는 ifhx 처리기가 있습니다. iframe은 iframe에 pdf를 표시합니다. 또한 다운로드 버튼이 있습니다. onclick 스트림은 다른 PDF를 브라우저에 첨부 파일로 저장합니다. . 브라우저 코드 다운로드 : (이 ASHX 처리기에)비어있는 IE에서 iframe

byte[] bytes = // get byte array from table 
    Response.Buffer = false; 
    Response.Clear(); 
    Response.ClearContent(); 
    Response.ClearHeaders(); 
    Response.ContentType = "application/pdf"; 
    // [optional] 
    Response.AddHeader(
      "Content-Disposition", 
      string.Format("attachment; filename={0}", attachmentName) 
    ); 
    Response.OutputStream.Write(bytes, 0, bytes.Length); 
    Response.End(); 

이 코드는하지만 내 iframe을 비워 간다 내가 다시보기 위해 페이지를 새로 고침 할 필요가 브라우저에이 응답을 보낸 후 잘 작동합니다. 나는 http://forums.asp.net/p/1036628/1433536.aspx

  • http://adamyoung.net/IE-Blocking-iFrame-Cookies
    1. 솔루션의 대부분을 시도했지만 그들 중 누구도 작동하지 않습니다. iframe은 크롬에서 제대로 작동합니다 & FF. 참고 : 내가 asp를 사용하여 물건을 다운로드 할 경우 : ashx에 하이퍼 링크를 설정하고 target = "_ blank"를 설정하면 IE에서 제대로 작동하지만 일부 서버 측 처리가 필요하므로이 방법을 사용할 수 없습니다.

  • +0

    어떤 IE 버전을 사용하고 있습니까? 시도한 버전은 무엇입니까? – Xcalibur37

    +0

    IE9를 사용합니다. IE7.8을 사용해 보았습니다. – DotNetUser

    답변

    1

    크롬과 FF가 페이지를 떠나는 동안 실제로 이것은 의미가 있습니다.

    서버로 다시 게시 한 다음 전체 출력을 지우고 스트림에 파일을 저장 한 다음 보내면됩니다. 기술적으로 IE가 페이지를 비우는 것이 옳다고 말할 수 있습니다.

    다운로드 버튼이 iframe에 있다고 가정합니다.

    내가 시도 할 솔루션은 다른 iFrame에 다운로드 링크를 넣거나 다운로드하는 다른 페이지가 있고 링크를 누르면 파일을 출력하는 새로운 페이지가 열립니다. 그러면 창이 깜박이지만 사라지고 대화 상자 저장 대화 상자가 나타납니다. 그러나 팝업 차단기가이 문제를 막을 수 있습니다.

    +0

    다운로드 버튼이 iframe에 없으므로 버튼이 aspx 페이지에 있습니다. 다운로드 버튼은 브라우저에 응답을 보내는 ashx 핸들러를 호출합니다. 일부 pdf 파일을 클라이언트에 보내야하는지 확인하기 위해 서버 측 처리를 수행하고 올바른 pdf를 얻기 위해 쿼리 문자열 매개 변수를 처리기에 전달해야하므로 버튼 대신 링크가 없습니다. – DotNetUser

    +0

    그래서 내가 제안한 것처럼 iframe에 버튼을 넣지 않으시겠습니까? –

    +0

    답장을 보내 주셔서 감사합니다. 지금은 다운로드 전용으로 다른 창을 사용하고 있습니다. iframe에 버튼을 넣으면 스크롤하기 때문에 사용자가 복잡하게 만듭니다. – DotNetUser