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