Браузер Android отклоняет content-disposition:inline?

У меня возникли проблемы с отправкой pdf-файлов в браузер Android из php-скрипта. В частности, на http://aim.shef.ac.uk/misc/a.phpу меня есть следующий сценарий:

header('Content-Type: application/pdf');
header("Content-Disposition:inline;filename=\"c.pdf\"");
readfile('c.pdf');

Это работает, как и ожидалось, в различных настольных браузерах, а также с iPhone: pdf-файл отображается в окне браузера, как если бы я напрямую перешел на http://aim.shef.ac.uk/misc/c.pdf. Однако, когда я пробую это на Android (2.3.3) телефон, по сути ничего не происходит (несмотря на то, что в телефоне есть несколько приложений, которые умеют отображать pdf-файлы). Если я открываю c.pdf напрямую или меняю «встроенный» на «вложение», телефон предлагает сохранить файл, и тогда я могу его просмотреть. Это менее удобно, поэтому я не хочу использовать «вложение» для клиентов, которые могут правильно работать с «встроенным». Я мог бы просто проверить $_SERVER['HTTP_USER_AGENT'] для подстроки «Android» и установить расположение содержимого на основе этого. Однако это кажется глупым, и я не знаю, подходит ли это для всех устройств Android.

Есть предложения?

6
задан Neil Strickland 29 March 2012 в 13:32
поделиться