[英]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.