无法在Android Chrome中下载客户端生成的文件

时间:2013-03-06 16:14:22

标签: android google-chrome coffeescript client-side

好的,这个背后有很长的历史,但要点是我们需要创建一个文本CLIENT端并将其下载到名为“test.lbl”的文件中。假设我们无法访问服务器端。

以下代码(coffeescript)通过创建Blob,将其转换为数据URL,然后单击链接来完成此操作。这在桌面Chrome浏览器中效果很好。但是,在Android Chrome中(不确定版本是什么版本,但我刚刚从Google App Store安装了3/5/13),这根本行不通。在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)

1 个答案:

答案 0 :(得分:1)

这是Chrome for Android中的一个已知问题。我提出了一个问题https://code.google.com/p/chromium/issues/detail?id=181032 - 如果你明星,你将能够看到它的所有更新。