使用Meteor和Iron路由器,是否有Meteor模块可以轻松地在Meteor应用容器外部的本地文件系统上提供二进制文件下载?
因此,如果Meteor应用程序位于/home/meteor/app
,是否可以在Meteor中提供/data/files
的下载链接?
我猜答案是否定的,因为看起来Meteor将自己隔离在容器内,但我想问。
我不想将这些文件放在Meteor的/public
中,因为它们需要位于Meteor应用程序本身之外的网络文件夹中。
答案 0 :(得分:0)
它并没有直接回答这个问题,但我是这样做的。可能有更好的铁路由器方式。
WebApp.connectHandlers.use('/filename.txt', function(req, res, next) {
//the filename in the url and the filename on disk don't have to be
//the same but I made them the same here
var fs = Npm.require('fs');
var data = fs.readFileSync("/path/to/filename.txt");
//if it's in the project's private directory,
//or if you are working in a package and you added filename.txt with addAssets
//you can probably just use
//var data = Assets.getBinary("filename.txt");
res.write(data);
res.end();
});