для aws без сервера, если я хочу загрузить изображение на конечную точку, как получить имя файла изображения? - PullRequest
0 голосов
/ 18 июня 2020

У меня есть конечная точка загрузки файла изображения на aws лямбда. Как получить имя файла изображения?

Я использую машинописный текст для разработки бессерверной aws лямбда-функции, например:

const upload: APIGatewayProxyHandlerV2 = async (event, context) => {
   ...
}

но я считаю, что событие содержит только тело для содержимого изображения. но без имени файла изображения.

Как получить имя файла изображения?

1 Ответ

0 голосов
/ 19 июня 2020

Предполагая, что изображение отправляется клиентом как составные данные формы, вы можете использовать модуль parse-multipart следующим образом:

async function handlePost(event) {

  var contentType = event.headers["Content-Type"] || event.headers["content-type"]

  var bodyBuffer = Buffer.from(event.body, 'base64')

  var parts = multipart.Parse(bodyBuffer, multipart.getBoundary(contentType))

  for (var image of parts) {
     // Here the file name is accessible using image.filename 
  }

  ...

}

Параметр event точно такой же, как полученный ваша лямбда в первую очередь.

...