Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring boot. Resta API. Uploading Multiple Files / 3 сообщений из 3, страница 1 из 1
22.06.2021, 14:37
    #40079354
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring boot. Resta API. Uploading Multiple Files
Добрый день!
Ранее такого не доводилось делать (контроллер по приему файлов) , нужен "точек" в нужном направлении
Описание того, что должно быть:
Метод POST
Заголовок:
"Content-Type": "multipart/form-data",
"Authorization": "Bearer eyJi...rUz",
"Accept": "application/json",
"X-Document-Request-Trace-Id": "{request_id}"

Тело:
Content-Disposition: form-data; name="fp"; filename="fp.pdf"
Content-Type: application/octet-stream
Content-Length: 204428
MIMCVuIGCSqGSIb3DQEHA6CDAlbSMIMCVs0CAQIxg...ETSrYJOBugG0kOA==
(в base64)

Content-Disposition: form-data; name="tc"; filename="tc.pdf"
Content-Type: application/octet-stream
Content-Length: 87816
MIMBAUEGCSqGSIb3DQEHA6CDAQExMIMBASw...hEDuVWPm8Au5N4Cmk

Content-Disposition: form-data; name="encodeData"
Content-Length: 6736
MIITtwYJKoZIh...wOzxgQe3jgFDHnU=


Может есть пример похожей реализации.

Разобрался как принять файл, который в параметре

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@PostMapping(value = "/diia/", produces = APPLICATION_JSON_UTF_8, consumes = MULTIPART_FORM_DATA)
    @ResponseStatus
    @ResponseBody
    public ResponseEntity<?> diiaSharing(@RequestHeader("Authorization") String token,
                                         @RequestHeader("X-Document-Request-Trace-Id") String requestId,
                                         @RequestParam("file") MultipartFile[] files
                                                  ) {
...
}



А в описании похоже на то, данные идут в одном потоке. Или я ошибаюсь....
...
Рейтинг: 0 / 0
24.06.2021, 17:30
    #40079906
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring boot. Resta API. Uploading Multiple Files
IgorD,
Испытал контроллер на реальных данных. Работает при таком описании параметров

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@PostMapping(value = "/diia/", produces = APPLICATION_JSON_UTF_8, consumes = MULTIPART_FORM_DATA)
    @ResponseStatus
    @ResponseBody
    public ResponseEntity<?> diiaSharing(@RequestHeader("Authorization") String token,
                                         @RequestHeader("X-Document-Request-Trace-Id") String requestId,
                                         @RequestParam("fp") MultipartFile fp,
                                         @RequestParam("tc") MultipartFile tc,
                                         @RequestParam("encodeData") String encodeData
                                                  ) {
...
}
...
Рейтинг: 0 / 0
24.06.2021, 18:26
    #40079924
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring boot. Resta API. Uploading Multiple Files
IgorD


А в описании похоже на то, данные идут в одном потоке. Или я ошибаюсь....

Не ошибаешься и ты запишешь из мультпарта всего 1 файл ибо мультипарт это обычный врапер над inputstream,как ты сам понимаешь из его два файла создать не получится ,для этого используется SequenceInputStream,который просто склеивает два стрима и читает 1 потом второй)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring boot. Resta API. Uploading Multiple Files / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]