1

我正在使用具有下载 xml 文件的链接的 web 应用程序。如中,单击链接,浏览器下载文件。该文件按预期从我桌面上的 Chrome/FF/Safari 下载。当我将我的用户代理伪装成 iPad 时,它也适用于 FF。但是,当从 iPad 上的 Mobile Safari 中单击时,该链接会将浏览器导航到新页面并尝试将 xml 显示为 html,而无需下载任何内容。

当前,HTTP 响应包含以下标头:

Content-Disposition:attachment; filename="myFile.xml"    
Content-Type:application/octet-stream;charset=UTF-8

据我了解,这两个 HTTP 标头应该告诉浏览器下载而不是显示响应流。

有人知道为什么这在 iPad 上运行的 Mobile Safari 中不起作用吗?

4

1 回答 1

5

MobileSafari 通常不会下载文件,即使在 HTTP 标头中指示。例如,在 MobileSafari 中不可能从网站下载 MP3,它只会播放它。这源于 iPhone/iPad 没有用户可访问的文件系统 - 如果您无法访问文件系统,则实际上无法保存或访问下载的文件。所以,因为 MobileSafari 不能下载文件,它只会尝试显示它,不管 HTTP 标头说什么。

于 2012-05-07T23:52:37.993 回答