2011-12-23 33 views
42

我希望我的用户能够下载PDF文件并让浏览器将其视为文件,而不仅仅是显示它(即它具有文件名,用户可以选择保存等)。下面的标题似乎也为这个无处不在,除了iOS的工作:HTTP“Content-Disposition:attachment”并在iOS Web浏览器上下载文件

Content-Disposition: attachment; filename=file.pdf 

的iOS只是忽略此并显示图像或文件。您可能会认为没有什么大不了的,除非我在隐藏的IFRAME中作为我的下载页面的一部分执行此操作,所以文档甚至从未被看到,并且看起来下载失败。

以跨浏览器兼容的方式处理此问题的最佳方法是什么? iOS是否忽略了这个头文件?我无法在任何地方找到任何规范或提及。

我是否需要检查请求标头中的iOS并以不同的方式提供响应?我希望避免这种情况。谢谢。

P.S.在iOS网页浏览器中下载文件等相关的任何其他有用的提示,我们感激不尽。

CLARIFICATION:这是关于由移动Safari浏览器浏览的常规网站。不是原生应用程序。

+0

还好吗?有类似的问题。 – 2013-05-09 17:46:41

+0

还没有...你,我,还有至少5个人还在等待解决这个问题。 – dkamins 2013-05-09 21:00:22

+1

为什么它的价值,这里是我现在解决这个问题的方式:在桌面上,我使用target = iframeId技巧,在ipad/ipod上(通过userAgent嗅探确定)将窗体/锚点提交给隐藏的iframe,但是我将目标设置为_blank强制它在新选项卡中打开。 – 2013-05-09 23:05:33

回答

16

移动Safari浏览器不支持下载文件。

如果Safari能显示它,它会显示。如果您安装了其他可以打开文件的应用程序,Safari会为您检测。

+0

参见https://apple.stackexchange.com/questions/25678/downloading-and-uploading-files-through-safari-ios – caw 2018-02-05 02:12:17