我想我会重新发布这个,因为我有更详细的信息:
问题:Android Chrome 浏览器在所有情况下都会将文件重命名为“下载”。在某些情况下,它会将类型重命名为“.bin”(例如,如果扩展名为 .MOV)。正如我之前提到的,同一 Android 设备上的 Firefox 和 Dolphin 浏览器应用程序不会出现这种行为。文件已正确下载。作为旁注,我已经尝试在 Anchor 元素中指定“下载”属性,但没有成功。在这种情况下,即使是 Android Chrome 浏览器也会忽略“下载”属性。我的直觉是,由于我们流式传输文件的方式,“下载”属性被忽略了。另外需要注意的是,桌面版 Chrome 浏览器下载文件时没有问题(没有重命名)。我认为有'
背景信息:Web 服务器是 Windows Azure 云上的 IIS 7.5。使用的 Web 应用程序是 Microsoft 用于路由的 MVC 框架。So when a file is selected to download from the Chrome browser within an Android device, a download method on the server is accessed using MS MVC routing. 在此方法中,我们使用 httpResponse 指定标题信息和流式传输文件的碎片。这适用于 Android 设备上的任何其他浏览器应用程序(例如 Firefox 和 Dolphin),并且能够使用正确的文件名和类型进行保存。但是,对于 Chrome,文件和类型(有时)会被重命名。
以下是我下载 .MOV 文件时的响应标头:
* HTTP/1.1 200 OK Cache-Control: private, s-maxage=0 Content-Length: 54295903 Content-Type: application/octet-stream 服务器: Microsoft-IIS/7.5 X-AspNetMvc-Version: 4.0 Content-Disposition: 附件; 文件名=UTF-8''MyVideo.MOV X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Sat, 29 Jun 2013 05:01:32 GMT**
帮助!:我将不胜感激有关解决方法的任何建议。另外,我希望在谷歌开发社区工作的人能明确地说这是否会在下一次更新中得到修复。谢谢!!