Как преобразовать строку изображения / файла base64 в файловую часть

#java #spring-boot #spring-webflux

Вопрос:

В моем интерфейсном приложении изображения и файлы преобразуются в строку base64 перед отправкой на серверную часть.

Я пытаюсь загрузить эти изображения и файлы в gofile.ввод-вывод с использованием пользовательского веб-клиента с частью файла в качестве части @RequestPart

 @RequestMapping(value = "/uploadFile", method = RequestMethod.POST,
          consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
  Mono<UploadResumeResponse> uploadResume(@RequestPart("file") FilePart file);
 

Я хочу преобразовать свою базовую строку 64, предоставленную интерфейсом, в файловую часть, а затем использовать клиент для загрузки файла. Есть идеи, как это сделать?

Заранее спасибо!

Ответ №1:

Если у вас он как base64, затем загрузите его как обычный пост с телом, затем на серверной части создайте класс DTO, затем декодируйте его в байты и загрузите.

 @Data
    public class UploadDto{
        String file;
    }
    Mono<String> uploadResume(@RequestBody UploadDto request){
        byte[] imgBytes = Base64.getDecoder().decode(request.getFile());
        
    }