2009-10-29 99 views
3

是否有可能在JavaScript中生成一個文件,然後提示用戶下載?可能在javascript中生成文件並提示用戶下載?

我們真的很想做的事情如下:我們想製作一個小的html表單,用戶可以在表格中編輯值,我們希望能夠從表單和提示中生成一個csv文件用戶將其保存在他的硬盤上。純JavaScript的可能嗎?如果沒有,是否有任何解決方法?

注意:我知道我可以通過往返服務器的方式解決這個問題,發送表單並獲取csv文件,但這裏的技巧是沒有服務器,只會生成html表單一個硬盤。

回答

1

沒有服務器下載,你不能讓他們像正常一樣下載數據。

您可以將csv數據輸出到新的瀏覽器窗口,然後用戶可以保存該信息。

0

在純javascript中,沒有。

您需要一個服務器端腳本來生成該文件並將其臨時保存在內存中,然後向用戶展示一個強制下載對話框。

建議您採取真菌的路線,並使用javascript寫入瀏覽器窗口,然後指示用戶如何保存它(複製>粘貼...等)。

乾杯,肖恩

1

如果你不介意使用閃光燈,我建議你使用Downloadify。您主持downloadify.swf,您將與您的JavaScript內容生成代碼一起提供服務。

它很容易整合。這裏是提供的&粘貼sample web site

<script type="text/javascript"> 
    Downloadify.create('downloadify',{ 
    filename: function(){ 
     return document.getElementById('filename').value; 
    }, 
    data: function(){ 
     return document.getElementById('data').value; 
    }, 
    onComplete: function(){ 
     alert('Your File Has Been Saved!'); 
    }, 
    onCancel: function(){ 
     alert('You have cancelled the saving of this file.'); 
    }, 
    onError: function(){ 
     alert('You must put something in the File Contents or there will be nothing to save!'); 
    }, 
    transparent: false, 
    swf: 'media/downloadify.swf', 
    downloadImage: 'images/download.png', 
    width: 100, 
    height: 30, 
    transparent: true, 
    append: false 
    }); 
</script>