Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mobile Safari-Html下载链接打开选项卡,而不是下载文件_Html_Ipad_Mobile Safari - Fatal编程技术网

Mobile Safari-Html下载链接打开选项卡,而不是下载文件

Mobile Safari-Html下载链接打开选项卡,而不是下载文件,html,ipad,mobile-safari,Html,Ipad,Mobile Safari,我正在使用一个webapp,它有一个下载xml文件的链接。如中所示,单击链接,浏览器将下载文件。该文件按预期从我桌面上的Chrome/FF/Safari下载。当我把我的用户代理伪装成iPad时,它也能从FF中工作。但当在iPad上从Mobile Safari中单击时,该链接会将浏览器导航到一个新页面,并尝试将xml显示为html,而无需下载任何内容 当前HTTP响应包含以下标头: Content-Disposition:attachment; filename="myFile.xml"

我正在使用一个webapp,它有一个下载xml文件的链接。如中所示,单击链接,浏览器将下载文件。该文件按预期从我桌面上的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中不起作用吗?

MobileSafari通常不会下载文件,即使在HTTP头中被指示下载。例如,从MobileSafari的网站下载MP3是不可能的,它只需要播放。这源于iPhone/iPad没有用户可访问的文件系统——如果无法访问文件系统,则实际上无法保存或访问下载的文件。因此,由于MobileSafari无法下载文件,所以无论HTTP头怎么说,它都会尝试并显示文件。

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