Как реагировать на маршрутах на стороне сервера, используя Meteor и Iron-Router?
m отправка файла со стороны клиента на сторону сервера с использованием XHR:
$(document).on('drop', function(dropEvent) {
dropEvent.preventDefault();
_.each(dropEvent.originalEvent.dataTransfer.files, function(file) {
// ...
xhr.open('POST', Router.routes['upload'].path(), true);
xhr.send(file);
});
})
Теперь я хочу ответить на этот сервер POST и сохранить файл на диск.Документы только кажется, что говорит о том, как обращаться с клиентом; Я недаже не знаю, как получить хук на стороне сервера.
Все, что у меня есть для маршрутов прямо сейчас, это:
Router.map(function() {
this.route('home', {
path: '/'
});
this.route('upload', {
path: '/upload',
action: function() {
console.log('I never fire');
}
});
});
Ссоединять, Я мог бы сделать:
Connect.middleware.router(function(route) {
route.post('/upload', function(req, res) {
// my server-side code here
});
});
Есть ли что-нибудь подобное дляЖелезо-маршрутизатор?
Копаясь во внутренностях, я обнаружил, что Метеор используетconnect
под капотом, и я могу сделать что-то вроде этого:
WebApp.connectHandlers.use(function(req, res, next) {
if(req.method === 'POST' && req.url === '/upload') {
res.writeHead(200);
res.end();
} else next();
});
Но я понятия не имею, как получить пользователя в этом контексте.