是否可以在javascript中生成文件然后提示用户下载?
我们真正想做的是:我们想制作一个小的html表单,用户可以在表格中编辑值,我们希望能够从表单生成一个csv文件并提示用户将其保存在硬盘上。它是否可以在纯JavaScript中?如果没有,有任何解决方法吗?
注意:我知道我可以通过往返服务器,发送表单并获取csv文件来解决这个问题,但这里的诀窍是没有服务器,html表单只会生成一个硬盘。
答案 0 :(得分:1)
如果没有要下载的服务器,则无法让他们像平常一样下载数据。
您可以将csv数据输出到新的浏览器窗口,然后用户可以保存它。
答案 1 :(得分:1)
如果您不介意使用闪光灯,建议您使用Downloadify。您将使用javascript内容生成代码托管downloadify.swf
。
易于整合。这是来自提供的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>
答案 2 :(得分:0)
在纯JavaScript中,没有。
您需要一个服务器端脚本来生成文件并将其临时保存/存储在内存中,然后向用户提供强制下载对话框。
建议您使用Fungus的路线并使用javascript将其写入浏览器窗口,然后指示用户如何保存它(复制&gt;粘贴...等)。
干杯,肖恩