【发布时间】:2014-01-19 11:25:58
【问题描述】:
我正在尝试编写一个脚本,当您单击一个按钮时,您将被重定向到一个可下载的文件。 Android 上的 Firefox 是唯一可以做到这一点的浏览器。当我说只是,我的意思是:
在我的桌面上:
- IE5、7、8、9、10 和 11
- FF
- 铬
- 歌剧
- 野生动物园
在我的平板电脑上:
- 百度浏览器
- 船用浏览器
- 股票 ICS 浏览器
- 铬
- Chrome 测试版
- 海豚浏览器
- 下一个浏览器
- 歌剧
- Opera 测试版
- 迷你歌剧
- UC 浏览器
所有这些工作。我什至厌倦了远程调试,并手动使用控制台重定向到要下载的文件,但它所做的一切都是刷新页面。但是,如果我手动输入 URL,它会下载。
任何人都可以对此提供任何见解吗?
谢谢。
编辑:
[页面已删除]
看起来直接地址不再有效。任一链接或直接地址的输出为:
GET [URL] [HTTP/1.1 200 好的]
【问题讨论】:
-
FF mobile 上会发生什么? (除了它“不起作用”之外,你不会说它)。您可以在自己的设备上进行测试吗? (以 MS Excel 文档为例....)您转发的“下载”URL 是否为正在提供的内容设置适当的 MIME 类型(例如:
Content-type: application/vnd.ms-excel标头)? “下载” URL 是否设置了适当的配置? (例如:Content-disposition: attachment; filename="name_of_excel_file.xls")。 -
没什么。我只是看到加载栏穿过。控制台显示通过 HTTP 200 响应请求的文件,但我没有下载。我只是直接进入一个原始的 mp3 文件,所以我假设浏览器会像所有其他浏览器一样处理标题。
-
我已经添加了一个链接以及我在原始帖子中得到的内容
-
您认为浏览器负责下载是错误的(或者如果您的意思是代表您制造标题)。如果您希望将文件“下载”到客户端,您(在服务器 端)至少需要设置
Content-disposition: attachment。否则,发生的事情完全取决于用户代理。 -
顺便说一句:鉴于您尚未安排客户端下载文件,最有可能的情况是Android上的FF正在尝试播放MP3,或者要求Android OS播放它。
标签: javascript android firefox