我正在尝试从 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/