如何使用Iron Router进行服务器端路由,该路由器将接受对该给定URL的POST请求并接收POST发送的FILE / Image?我使用Collection FS作为Image Uploader和Grid FS存储图像我想要做的是使用Iron Router接收POST URL并从POST中提取文件并使用Collection FS或任何其他图像上传器上传该文件。我使用POST网址而不仅仅是上传模板事件处理程序的原因是,我正在使用的文本编辑器使用POST提交到服务器来上传图像。
答案 0 :(得分:0)
经过一点点搜索,this package看起来像你想要的东西。 HTTP方法目前在meteor's roadmap上,现在看来这是一个很好的解决方案。
答案 1 :(得分:0)
你可以尝试busboy
https://github.com/mscdex/busboy
铁路由器侧
this.route('/upload', {
where: 'server',
method: 'POST',
name:'upload',
onBeforeAction: (function (req, res, next) {
//busboy code here
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.on('data', function(data) {
console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
});
file.on('end', function() {
console.log('File [' + fieldname + '] Finished');
});
});
busboy.on('field', function(fieldname, encoding, mimetype) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
});
busboy.on('finish', function() {
console.log('Done parsing form!');
res.writeHead(303, { Connection: 'close', Location: '/' });
res.end();
next();
});
req.pipe(busboy);
});