好的,这背后有很长的历史,但要点是我们需要创建并下载一点点文本客户端,到一个名为“test.lbl”的文件中。假设我们无法访问服务器端。
以下代码 (coffeescript) 通过创建 Blob、将其转换为数据 url,然后单击链接来完成此操作。这在桌面 Chrome 浏览器中效果很好。但是,在 Android Chrome 中(不确定究竟是什么版本,但我刚刚在 2013 年 3 月 5 日从 Google App Store 安装了它)这根本行不通。在 Android Chrome 中,文件开始下载,然后开始旋转。(事实上,它会在您的“正在进行”中显示很长一段时间,即使在浏览器关闭之后也是如此。)
任何人都知道为什么这可能不适用于Android?也许不同的 mime 类型会允许下载文件?我们正在处理内部平板电脑,因此我们可以放宽我们需要的任何特定于站点的安全设置。
或者,有没有更好的方法来完全解决这个问题?(客户端生成的文本文件下载)
谢谢
$("#get-label").on 'click', (e) ->
e.preventDefault()
bb = new Blob(['test test test'], {type:'text/plain'})
evt = document.createEvent("HTMLEvents")
evt.initEvent("click")
$("<a>", {download: 'test.lbl', href: webkitURL.createObjectURL(bb)}).get(0).dispatchEvent(evt)