Я пытаюсь написать простую лямбда-функцию (aws без сервера) с конечной точкой / 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
Мой конеццель состоит в том, чтобы получить файл и еще несколько параметров через одну конечную точку и обработать его.