Parse multipart/form-data from body as string on AWS Lambda

后端 未结 4 1811
梦毁少年i
梦毁少年i 2020-12-14 17:55

I\'m glad to see AWS now supports multipart/form-data on AWS Lambda, but now that the raw data is in my lambda function how do I process it?

I see multiparty is a g

4条回答
  •  温柔的废话
    2020-12-14 18:18

    Building on @AvnerSo :s answer, here's a simpler version of a function that gets the request body and headers as parameters and returns a promise of an object containing the form fields and values (skipping files):

    const parseForm = (body, headers) => new Promise((resolve, reject) => {
      const contentType = headers['Content-Type'] || headers['content-type'];
      const bb = new busboy({ headers: { 'content-type': contentType }});
    
      var data = {};
    
      bb.on('field', (fieldname, val) => {
        data[fieldname] = val;
      }).on('finish', () => {
        resolve(data);
      }).on('error', err => {
        reject(err);
      });
    
      bb.end(body);
    });
    

提交回复
热议问题