我想我会重新发布这个,因为我有更详细的信息:
问题:Android Chrome 浏览器在所有情况下都会将文件重命名为“下载”。在某些情况下,它会将类型重命名为“.bin”(例如,如果扩展名是 .MOV)。正如我之前提到的,同一 Android 设备上的 Firefox 和 Dolphin 浏览器应用程序不会表现出这种行为。文件已正确下载。作为旁注,我已经尝试在 Anchor 元素中指定“下载”属性,但没有成功。在这种情况下,即使 Android Chrome 浏览器也会忽略“下载”属性。我的预感是,由于我们传输文件的方式,“下载”属性被忽略了。另一件需要注意的事情是,桌面版 Chrome 浏览器下载文件没有问题(没有重命名)。我认为 Chrome 浏览器内置的一些安全功能导致了这些重命名问题。
背景信息:Web 服务器是 Windows Azure 云上的 IIS 7.5。使用的 Web 应用程序是 Microsoft 的 MVC 路由框架。因此,当选择从 Android 设备内的 Chrome 浏览器下载文件时,将使用 MS MVC 路由访问服务器上的下载方法。在此方法中,我们指定标头信息并使用 httpResponse 流式传输文件的碎片。这适用于 Android 设备上的任何其他浏览器应用程序(例如 Firefox 和 Dolphin),并且能够使用正确的文件名和类型进行保存。然而,在 Chrome 中,文件和类型(有时)会被重命名。
以下是我下载 .MOV 文件时的响应标头:
*HTTP/1.1 200 OK 缓存控制:私有,s-maxage=0
内容长度:54295903
内容类型:应用程序/八位字节流
服务器:微软-IIS/7.5
X-AspNetMvc-版本:4.0
内容处置:附件;文件名=UTF-8''MyVideo.MOV
X-AspNet-版本:4.0.30319
X-Powered-By:ASP.NET 日期:2013 年 6 月 29 日星期六 05:01:32 GMT**
帮助!:如果有任何有关解决方法的建议,我将不胜感激。另外,我希望谷歌开发社区的工作人员能够明确说明这个问题是否会在下次刷新中得到解决。谢谢!!
Content-Disposition
Android 上曾经存在过问题。当然欢迎您尝试删除UTF-8
看看这是否对 Chrome 有帮助。但一定要测试原始的 Android 浏览器应用程序,因为从数字上看,它是 Android 上最流行的浏览器。
也可以看看:
- http://code.google.com/p/android/issues/detail?id=11422 http://code.google.com/p/android/issues/detail?id=11422
- Android 浏览器/webview 错误?内容处置:附件;文件名=“xyz.txt” https://stackoverflow.com/questions/3992981/android-browser-webview-bug-content-disposition-attachment-filename-xyz-txt
- http://code.google.com/p/android/issues/detail?id=9991 http://code.google.com/p/android/issues/detail?id=9991
- http://thedigiblog.wordpress.com/2011/04/19/android-and-the-download-file-headers/ http://thedigiblog.wordpress.com/2011/04/19/android-and-the-download-file-headers/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)