diff --git a/server.js b/server.js index 33e65e9..09d223d 100644 --- a/server.js +++ b/server.js @@ -15,10 +15,35 @@ server.route({ server.route({ method: 'POST', path: '/submit', - config: { - payload: { output: 'stream' }, + config: { + payload: { + output: 'stream', + parse: true, + allow: 'multipart/form-data' + }, + handler: function (request, reply) { - reply(request.payload); + var data = request.payload; + if (data.file) { + var name = data.file.hapi.filename; + var path = __dirname + "/uploads/" + name; + var file = fs.createWriteStream(path); + + file.on('error', function (err) { + console.error(err) + }); + + data.file.pipe(file); + + data.file.on('end', function (err) { + var ret = { + filename: data.file.hapi.filename, + headers: data.file.hapi.headers + } + reply(JSON.stringify(ret)); + }) + } + } } });