流星,生成和下载文件

时间:2014-10-22 13:41:40

标签: meteor

我正在尝试从流星集合中生成一个简单的文本文件。我希望用户点击一个按钮(让我们说'转换为文本文件'按钮),他就可以下载一个文本文件,其中包含转换为文本的给定集合的元素。

我认为在服务器端生成http响应并修改http标头的内容类型会有所作为,但我不知道如何实现这一点。

有人会有建议吗?

1 个答案:

答案 0 :(得分:4)

如果使用Iron Router,请在生成文本文件的服务器上添加路由并设置相应的标头,并使用生成的文件结束响应:

Router.map(function() {
  this.route('txtFile', {
    where: 'server',
    path: '/text',
    action: function() {
      var text = "This is the awesome text.";
      var filename = 'textfile' + '.txt';

      var headers = {
        'Content-Type': 'text/plain',
        'Content-Disposition': "attachment; filename=" + filename
      };

      this.response.writeHead(200, headers);
      return this.response.end(text);
    }
  })
});

在客户端:

<a href="/text">Download text</a>