2013-05-02 10 views
2

저는 wkhtmltopdf를 사용하여 PDF 파일을 생성하고 있습니다. 이 프로그램은 두 개의 ContentType 값인 'application/pdf'및 'application/octet-stream'중 하나를 허용합니다. 생성 된 PDF 파일을 사용자 컴퓨터에 저장하기를 원하므로 'application/octet-stream'으로 설정합니다. Chrome은 예상대로 다운로드를 요청했습니다. FireFox도 그렇게했습니다. 물론 Internet Explorer는이 설정을 무시하고 브라우저 창에서 PDF 파일을 열었습니다. 나는 이것을 테스트하기 위해 Internet Explorer 8과 9를 사용하고 있습니다. 서버에 액세스 할 수 없기 때문에 어떤 경우에도 모든 PDF 파일을 처리하는 방법을 변경하고 싶지 않습니다. 이 응용 프로그램에서 사용자에게 파일 다운로드를 요청하고 IE가 ContentType 값을 무시하는 대신 강제로 수행하도록하는 방법을 알아야합니다.IE는 옥텟 스트림을 무시합니다. 강제로 다운로드하는 방법은 무엇입니까?

Internet Explorer와 Chrome에서 ContentType이 어떻게보고되는지 'Fiddler2'를 사용하여 'application/octet-stream'을 표시하므로 Internet Explorer가 브라우저에서 PDF 렌더링을 주장하는 이유를 모르겠습니다. 어떤 충고?

답변

2

PHP 코드는 :

header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Pragma: public"); 
header("Content-Type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=\"filename\""); 

이 작동합니다.

+0

Content-Disposition을 '첨부 파일'로 사용하면 옥텟 스트림 MIME 유형과 함께 트릭을 만들 수 있습니다. 다른 설정으로 인해 브라우저가 어깨를 으 sh했습니다. 게시물 주셔서 감사합니다. +1 – Paul

관련 문제