2013-02-01 239 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庫 - 我用它做只是最近這同樣的事情...