Код: Выделить всё
public String putS3Object(S3Client s3Client, String bucketName, String key, String md5Checksum,
String contnent) {
PutObjectRequest metadataPutRequest = PutObjectRequest.builder()
.bucket(bucketName)
.key(key)
.contentMD5(md5Checksum)
.build();
byte[] bytes = org.apache.commons.codec.binary.Base64.decodeBase64(contnent);
PutObjectResponse putObjectResponse = s3Client.putObject(metadataPutRequest, RequestBody.fromBytes(bytes));
return putObjectResponse.eTag();
}
< /code>
Метаданные рассчитываются с помощью этого метода < /p>
public static String generateFileChecksum(Path path) {
try (var inputStream = Files.newInputStream(path)) {
return Base64.encodeBase64String(DigestUtils.md5(inputStream));
} catch (IOException e) {
throw new IllegalStateException("Failure computing checksum for file "+ path.toFile().getAbsolutePath(), e);
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ous-versio