2011-02-07 3 views
1

У меня есть веб-приложение, которое отображает PDF в IFrame. Недавно я внес изменения, чтобы начать обслуживать PDF-файл, используя Django, вместо того, чтобы позволить Apache обслуживать PDF-файл. Первоначально я использовал FileWrapper approach для возврата файла. Это отлично работало во всех браузерах, за исключением IE 8, который разбился (возможно, другие версии IE не тестировались).IE 8 Сбой при отображении PDF в IFrame из Django

Я понял, как исправить это, но было немного боли, чтобы понять, поэтому я отправляю ответ здесь.

ответ

3

Решение было использовать в качестве mod_xsendfile suggested in this post со следующими ухищрений:

mimeType,_ = mimetypes.guess_type(filePath) 
response = django.http.HttpResponse(mimetype = mimeType) 
response['Accept-Ranges'] = 'bytes' 
response['X-Sendfile'] = filePath 
return response 

В дополнение к правильной работе с IE/фреймов, это позволяет загрузить файл быть возобновляем.

+0

Если это решение, пожалуйста, также принимайте ваше ... – erloewe

+0

Переполнение стека не позволит мне принять его в течение 2 дней –

Смежные вопросы