let fs = require('fs');
let Hapi = require('hapi');
letserver = Hapi.createServer('localhost', Number(process.argv[2] || 8080));
server.route({
method: 'POST',
path: '/submit',
config: {
payload: {
output: 'stream',
parse: true,
allow: 'multipart/form-data'
},
handler: function (request, reply) {
let data = request.payload;
if (data.file) {
let name = data.file.hapi.filename;
let path = __dirname + "/uploads/" + name;
let file = fs.createWriteStream(path);
file.on('error', function (err) {
console.error(err)
});
data.file.pipe(file);
data.file.on('end', function (err) {
let ret = {
filename: data.file.hapi.filename,
headers: data.file.hapi.headers
}
reply(JSON.stringify(ret));
})
}
}
}
});
server.start(function () {
console.log('info', 'Server running at: ' + server.info.uri);
});
这段代码适用于多部分请求,您需要提及允许的负载类型。