im using https://github.com/felixge/node-formidable package in simple node like this :
var formidable = require('formidable'),
http = require('http'),
util = require('util');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8080);
and its working well also in express but when i use it in hapi i cant get response from server and .parse() callback never invoke !
my code in hapijs :
'use strict';
const Boom = require('boom');
const formidable = require('formidable');
const util = require('util');
exports.register = function (server, options, next) {
server.route({
method: 'POST',
path: '/',
config: {
tags: ['api'],
payload: {
// maxBytes: 2097152000005,
output: 'stream',
parse: true
}
},
handler: function (request, reply) {
var form = new formidable.IncomingForm();
form.parse(request.raw.req, function (err, fields, files) {
reply(util.inspect({ fields: fields, files: files }));
});
return;
}
});
next();
};
exports.register.attributes = {
name: 'api/home'
};
[HELP WANTED]
Turn off payload parsing.
This thread has been automatically locked due to inactivity. Please open a new issue for related bugs or questions following the new issue template instructions.
Most helpful comment
Turn off payload parsing.