A simple multipart/form-data parser for AWS lambda functions.
npm install -S lambda-multipart
var Multipart = require('lambda-multipart');
exports.handler = function(event, context, callback){
var parser = new Multipart(event);
parser.on('field',function(key, value){
console.log('received field', key, value);
});
parser.on('file',function(file){
//file.headers['content-type']
file.pipe(fs.createWriteStream(__dirname+"/downloads/"+file.filename));
});
parser.on('finish',function(result){
//result.files (array of file streams)
//result.fields (object of field key/values)
console.log("Finished")
});
}
There is a small bit of setup on the AWS side. Head to the API Gateway service you want to setup and select:
Settings > Binary Media Types
Add a new entry for multipart/form-data