簡體   English   中英

可以在javascript中生成文件並提示用戶下載?

[英]Possible to generate a file in javascript and prompt the user to download?

是否可以在javascript中生成文件然后提示用戶下載?

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

注意:我知道我可以通過往返服務器,發送表單並獲取csv文件來解決這個問題,但這里的訣竅是沒有服務器,html表單只會在硬盤上生成。

如果您不介意使用閃存,我建議您使用Downloadify 您將使用javascript內容生成代碼托管downloadify.swf

它易於集成。 以下是來自提供的示例網站的剪切和粘貼:

<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>

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

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

在純JavaScript中,沒有。

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

建議您使用Fungus的路線並使用javascript將其寫入瀏覽器窗口,然后指示用戶如何保存它(復制>粘貼...等)。

干杯,肖恩

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM