Как отправить несколько файлов с открытым притворным клиентом без пружины?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как отправить несколько файлов с открытым притворным клиентом без пружины?

Сообщение Anonymous »

Я хотел бы отправить произвольное количество изображений во время запроса multipart/form-data.
Я нашел этот пример в руководстве:
https://github. com/OpenFeign/feign-form?tab=readme-ov-file#multipartform-data

Код: Выделить всё

 // FormData parameter
@RequestLine("POST /send_photo")
@Headers("Content-Type: multipart/form-data")
void sendPhoto (@Param("is_public") Boolean isPublic, @Param("photo") FormData photo);
Это работает нормально, но я не могу заставить его работать с несколькими файлами. Я попытался изменить приведенный выше пример, чтобы он принимал List вместо FormData, но у меня это не сработало — файлы не загружаются. Например:

Код: Выделить всё

// client method:
@RequestLine("POST /send_photo")
@Headers("Content-Type: multipart/form-data")
void sendPhoto (@Param("photo") FormData photo);

// using above method
var myImageStream = MyClass.class.getResourceAsStream("/test.jpg");
var myImage = FormData.builder()
.fileName("test.jpg")
.contentType("image/jpeg")
.data(myImageStream.readAllBytes())
.build();

client.sendPhoto(true, myImage);
работает нормально, но когда я меняю подпись, чтобы принять список:

Код: Выделить всё

// client method:
@RequestLine("POST /send_photo")
@Headers("Content-Type: multipart/form-data")
void sendPhoto (@Param("photo") List photo);

// using above method
var myImageStream = MyClass.class.getResourceAsStream("/test.jpg");
var myImage = FormData.builder()
.fileName("test.jpg")
.contentType("image/jpeg")
.data(myImageStream.readAllBytes())
.build();

client.sendPhoto(true, List.of(myImage));
это не работает. Как мне указать несколько файлов (произвольное число)?

Подробнее здесь: https://stackoverflow.com/questions/790 ... out-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»