Конечная точка загрузки файла - sam local (без сервера) MultipartException: текущий запрос не является составным запросом

Я пытаюсь написать простую лямбда-функцию (без сервера) с конечной точкой / upload - чтобы разрешить загрузку файлов.

Я использую Spring-Boot в качестве технологии.

Блок кода контроллера выглядит следующим образом:

@PostMapping("/upload")
public void upload(@RequestParam MultipartFile file) {
    LOGGER.debug("File: " + file.getOriginalFilename() + " Size: " + file.getSize());
}

Он отлично работает, когда я запускаю его как приложение для весенней загрузки и запускаю запрос почтальона.

Теперь, чтобы проверить это дальше - я запускаю его sam local start-api

И когда я пытаюсь использовать почтальон ( http://127.0.0.1:3000/upload), он застревает в следующем исключении:

org.springframework.web.multipart.MultipartException: Current request is not a multipart request

Как часть моего поиска решения - я наткнулся на несколько статей, в которых говорится - Amazon API Gateway не поддерживает multipart / form-data. Я предполагаю, что это является причиной проблемы.

https://forums.aws.amazon.com/thread.jspa?threadID=252327 AWS API Gateway: поддержка форм-данных

Теперь я хотел бы знать, какие есть альтернативы, чтобы он работал максимально просто. Я тоже сталкивался (еще не пробовал)

https://github.com/myshenin/aws-lambda-multipart-parser

Моя конечная цель - получить файл и еще несколько параметров через одну конечную точку и обработать его.

0 ответов

Другие вопросы по тегам