Может ли API Spring Boot поддерживать загрузку нескольких частей большого файла?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Может ли API Spring Boot поддерживать загрузку нескольких частей большого файла?

Сообщение Anonymous »

Я пытаюсь загрузить большие файлы в S3 следующим образом:
https://www.baeldung.com/aws-s3-multipart-upload

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

// Prepare the parts to be uploaded
List completedParts = new ArrayList();
int partNumber = 1;
ByteBuffer buffer = ByteBuffer.allocate(5 * 1024 * 1024); // Set your preferred part size (5 MB in this example)

// Read the file and upload each part
try (RandomAccessFile file = new RandomAccessFile(filePath, "r")) {
long fileSize = file.length();
long position = 0;

while (position < fileSize) {
file.seek(position);
int bytesRead = file.getChannel().read(buffer);

buffer.flip();
UploadPartRequest uploadPartRequest = UploadPartRequest.builder()
.bucket(existingBucketName)
.key(keyName)
.uploadId(uploadId)
.partNumber(partNumber)
.contentLength((long) bytesRead)
.build();

UploadPartResponse response = s3.uploadPart(uploadPartRequest, RequestBody.fromByteBuffer(buffer));
Возможно ли, чтобы Spring REST API получал эти фрагменты от клиента? Например. клиент отправит фрагмент 1 (5 МБ), затем фрагмент 2 (5 МБ), но я начну загружать фрагмент 1 на S3 до того, как будет получен фрагмент 2.
Как будет настроен этот клиент? Здесь говорится, что для этой цели RestTemplate можно использовать для запросов составных файлов:

Запросы составных файлов разбивают большой файл на более мелкие фрагменты и используют
граничные маркеры для обозначения начала и конца блока.

Я предполагаю, что смогу использовать такой составной Spring API, если клиент настроен правильно?https://spring.io/guides/gs/uploading-files

Подробнее здесь: https://stackoverflow.com/questions/788 ... large-file
Ответить

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

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

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

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

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