安卓浏览器拒绝content-disposition:inline?

6
我遇到了一个问题,我想从一份php脚本中向Android浏览器发送pdf文件。具体来说,在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,或者将“inline”更改为“attachment”,那么手机将提示保存文件,然后我就可以查看它了。虽然这样不太方便,但对于可以正确处理“inline”的客户端,我不想使用“attachment”。我可以测试$_SERVER['HTTP_USER_AGENT']是否包含子字符串“Android”,并根据此设置内容分发。但是,这似乎很笨拙,我不知道它是否适用于所有 Android 设备。您有什么建议吗?
1个回答

1

Android手机无法在网络浏览器中呈现PDF文件。不支持此功能。相反,您可以使用谷歌浏览器。请查看https://docs.google.com/viewer以获取说明。


1
Android手机无法在网页浏览器中渲染PDF文件。2.3.3版本应该能够识别PDF的MIME类型并启动PDF阅读器,但实际上并没有这样做。 - Heather McVay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接