2014-12-05 42 views
1

我有一個字符串變量需要下載爲JavaScript中的文件。我已經在stackoverflow上嘗試了其他例子,但他們只是在瀏覽器中顯示結果,而不是將其作爲文件下載。該字符串大約有25,000個字符,需要在IE 9及更高版本中工作。如何下載字符串

這是我到目前爲止的代碼。它在IE中不起作用,因爲它使頁面無法顯示錯誤。在chrome中它只是在瀏覽器中顯示結果。

HTML:

<a id="downloadDataButton" href="#" class="btn pull-right"> 
    <i class="icon-plus"></i> Download 
</a> 

代碼:

$('#downloadDataButton').on('click', onDownloadData); 
function onDownloadData() { 
    $(this).attr('href', 'data:text/octet-stream;base64,SGVsbG8gV29ybGQh'); 
} 
+6

爲什麼選擇Javascript?這通常是服務器端問題(您可以完全控制返回的數據和內容類型)。 – 2014-12-05 16:36:00

+0

我已經繼承了一些代碼,其中網格是在客戶端構建的。網格是使用json過濾對象構建的,我認爲它可以更輕鬆地從這個json對象創建csv文件。 – Luke101 2014-12-05 16:39:41

+0

在IE 8和9中,數據URI只能用於圖像,但不能用於導航或JavaScript生成的文件下載 – 2014-12-05 16:43:01

回答

-2

我在此假設您正在使用Apache服務器?打開你的.htaccess文件,並把這個。

<FilesMatch "\.(?i:txt)$"> 
    Header set Content-Disposition attachment 
</FilesMatch> 

這應該強制所有txt文件,提示下載,而不是通過瀏覽器進行解釋。只需使用管道添加更多文件,例如txt|doc|mp3|whatever