2013-02-01 201 views
0

我想通过按钮点击下载一些csv内容。通过javascript下载文件

在点击我有下载使用

window.location='data:application/webcsv;charset=utf8,' + encodeURIComponent(csvData); 

的文件中的JavaScript功能,但该文件没有任何名称和扩展名。我怎样才能使用JavaScript分配文件名?

+1

请参阅:http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server –

回答

0

不能指定通过data uri文件名或扩展。但是,如果您使用的<a>元素,你可以使用[download] attribute

<a href="data:..set dynamically.." download="filename.extension">Download</a> 

它不是在每一个浏览器的支持,但它是一个开始。

+0

谢谢。这为我解决了。在函数内部,我更改了一个锚标签的href,它可以通过适当的扩展名来下载文件。 – sharmacal

+0

你是否也可以为移动浏览器提供解决方案。 – sharmacal

+0

@sharmacal,如果我知道,我会建议。不幸的是,''[download]'有点太新,不能广泛支持。我在自定义模板构建器上使用它,但那是因为我知道我要使用chrome。 – zzzzBov

0

没有办法使用我知道的纯JS来下载带有指定文件名的文件 - 尽管可以使用JS和Flash的组合。

退房的Downloadify库 - 我用它做只是最近这同样的事情...