Мне нужно получить значение partsCount, когда я вызываю метод headObject в классе S3Client. Этот класс возвращает объект, который является экземпляром HeadObjectResponse. Но я не знаю, почему поле partsCount всегда имеет значение NULL, хотя я загружаю файл с помощью многостраничной загрузки.
Кто-нибудь знает, что моя ошибка - при загрузке или при вызове метода headObject?
Это мой код для многостраничной загрузки
private void uploadMultiPartFileToS3(byte[] fileByte, String fileName, String bucketName){
int bufferByte = propertiesValue.getBufferSize();
int fileSize = fileByte.length;
int totalPartitions = (fileSize + bufferByte - 1) / bufferByte;
List<CompletedPart> parts = new ArrayList<>();
String uploadId = getUploadIDForMultipartUpload(fileName, bucketName);
for (int i = 0; i < totalPartitions; i++) {
parts.add(uploadOnePart(bucketName, fileName, uploadId, fileByte, i));
}
CompletedMultipartUpload completedMultipartUpload = CompletedMultipartUpload.builder().parts(parts).build();
CompleteMultipartUploadRequest completeMultipartUploadRequest = CompleteMultipartUploadRequest.builder()
.bucket(bucketName)
.key(fileName)
.uploadId(uploadId)
.multipartUpload(completedMultipartUpload).build();
s3client.completeMultipartUpload(completeMultipartUploadRequest);
}
И это мой код, когда я вызвать метод headObject
private HeadObjectResponse getHeadOfObject(String bucketName, String key){
HeadObjectRequest req = HeadObjectRequest.builder().bucket(bucketName).key(key).build();
return s3client.headObject(req);
}