Meteor,生成并下载文件

标签 meteor

我正在尝试从 meteor 集合中生成一个简单的文本文件。我希望用户单击一个按钮(假设“转换为文本文件”按钮),他就能够下载一个文本文件,其中包含转换为文本的给定集合的元素。

我认为在服务器端生成 http 响应并修改 http header 的内容类型就可以了,但我不知道如何实现这一点。

有人有建议吗?

最佳答案

如果使用 Iron Router,请在生成文本文件的服务器上添加一条路由,并设置适当的 header 并以生成的文件结束响应:

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>

关于Meteor,生成并下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26508881/

相关文章:

mongodb 查找嵌套对象

javascript - 如何根据集合中的数据显示html字段?

javascript - meteor 在模板空格键中显示数组的第一个元素

node.js - Meteor.js - 服务器上的全局事件?

meteor - 将参数传递到模板而不覆盖数据上下文

javascript - Meteor.call() 回调不将值返回到模板

meteor - 如何使用铁路由器或 meteor 本身提供文件?

jquery - meteor 点击发生两次

javascript - 状态更改后测试 react 组件

javascript - Meteor:使用 setInterval() 每天运行一次函数