Как загрузить большой файл с помощью RestTemplate?JAVA

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

Сообщение Anonymous »

Я получаю MultipartFile от пользователей и повторно отправляю его в API с помощью RestTemplate. Но я получаю ArrayIndexOutOfBoundsException, если размер файла превышает 2 ГБ

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

java.lang.ArrayIndexOutOfBoundsException: arraycopy: last destination index 2147468288 out of bounds for byte[1819689347]
at java.base/java.lang.System.arraycopy(Native Method) ~[na:na]
at org.springframework.util.FastByteArrayOutputStream.resize(FastByteArrayOutputStream.java:299) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.util.FastByteArrayOutputStream.toByteArrayUnsafe(FastByteArrayOutputStream.java:215) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:44) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) ~[spring-web-6.1.8.jar:6.1.8]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) ~[spring-web-6.1.8.jar:6.1.8]
Метод отправки запроса:

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

protected String postFileRestTemplate(String addToBaseURL,
InputStreamResource inputStreamResource) {

restTemplate.setInterceptors(Collections.singletonList(new LoggingInterceptor()));

httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);

MultipartBodyBuilder builder = new MultipartBodyBuilder();
builder.part("content", "iso");
builder.part("filename", inputStreamResource);

MultiValueMap

Подробнее здесь: [url]https://stackoverflow.com/questions/79216346/how-to-upload-a-big-file-by-resttemplate[/url]
Ответить

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

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

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

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

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