Запрос на загрузку игнорируется весенним загрузочным сервером - PullRequest
2 голосов
/ 23 июня 2019

У меня есть класс как таковой, который должен загружать файлы в Amazon S3, но я не могу попасть в конечную точку. Я использую почтальон, когда я выполняю http://localhost:8088/api/user/all, он работает нормально. Но загрузка возвращает 401 несанкционированный. Я пытаюсь отладить, но мой запрос даже не входит в контроллер

    @CrossOrigin
    @RequestMapping(value = "/api")
    @RestController
    public class PostController {

        private static final Logger LOGGER = LogManager.getLogger();

        @Autowired
        private PhotoService photoService;

        @Autowired
        private UserService userService;

        @RequestMapping(method = POST, value = "/upload")
        public Photo submitPhoto(@RequestPart MultipartFile file) throws IOException {
            LOGGER.debug("submitPhoto({})", file);
           return photoService.savePhoto(file);
        }

        @RequestMapping(method = GET, value = "/user/all")
        public List<User> loadAll() {
            return this.userService.findAll();
        }
}

Итак, я нашел на SO, как загрузить файл с помощью POSTMAN, я использовал их примеры, но результат тот же, я даже не могу отладить, потому что запрос не попадает в метод, как будто мой URL неверен.

Это моя просьба к почтальону http://localhost:8088/api/upload Также, используя Form-data name key = ile и выбирая файл с моего компьютера, я пробовал как с выбором заголовков, так и без заголовков, я также использовал RequestPart и RequestBody в моем контроллере.

Любые предложения, пожалуйста?

В какой-то момент я попал в свою среду (Intellij)

org.apache.tomcat.util.http.Parameters   : Character decoding failed. Parameter [���� JFIF      �� �Photoshop 3.0 8BIM     g( bFBMD01000aa80300001424000049540000a05600008b590000827a0000cbc30000eacb00004cd100007cd700003b640100 ��ICC_PROFILE   lcms  mntrRGB XYZ �    ) 9acspAPPL                          ��     �-lcms                                               
desc   �   ^cprt  \   wtpt  h   bkpt  |   rXYZ  �   gXYZ  �   bXYZ  �   rTRC  �   @gTRC  �   @bTRC  �   @desc       c2                                                                                  text    FB  XYZ       ��     �-XYZ         3  �XYZ       o�  8�  �XYZ       b�  ��  �XYZ       $�  �  ��curv          ��ck�?Q4!�)�2;�FQw]�kpz���|�i�}���0���� C 
db° §jʼ@9H<HY-²£W
âyÃèaæÛÒÉ<ÚzhY}SDúØydôâ<¹ôêe½<úú5<ôÝSl,iC:v¢s ¢ÄªÊ!y®²öãÖy:V·¬s®sé!ÒÜ/Dç5Ðj¶(,°ñ ñ"±B<®Jál®ZÑ`íYVÁ)ÂÊ°,$)Ö L³Z²"0)ÊÉcTKeL;Ó$è~Xu
é«2Ól©³6.Äî^] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original, non-corrupted values.
 Note: further occurrences of Parameter errors will be logged at DEBUG level 

1 Ответ

1 голос
/ 23 июня 2019

Вы должны использовать тип контента, который подходит для двоичных данных.application/octet-stream является одним из вариантов.
Вы также можете изменить свой код, чтобы использовать @RequestParam("file") вместо @RequestPart.Затем используйте данные формы в теле с ключом "file".

...