我有存储在S3上的文件,我想在用户点击按钮时自动下载它们
到目前为止我所做的是有一条路线
/ LIB /路由/下载
var fs = Npm.require('fs');
Router.route("download", function() {
console.log('retrieving ' + this.params.signedURL);
this.response.writeHead(200, {'Content-type': 'appplication/pdf'}, this.params.signedURL);
this.response.end(fs.readFileSync(this.params.signedURL));
}, { where: 'server', path: '/d/:signedURL'});
但这不起作用,因为我不能在客户端上使用fs
。即使我可以,我也不确定这会起作用
关于如何最好地完成此任务的任何建议?
答案 0 :(得分:1)
最简单的方法是使用cfs:s3 package作为CollectionFS的附加组件。这不仅支持S3,而且还可以在上传和下载S3时透明地将文件分成更小的块。
答案 1 :(得分:1)
我通过流星方法调用检索signedUrl,然后在用户单击下载按钮时执行此操作:
window.open(_signedURL,"_self");