你确定结果不是false??? 自信点就是false
结果就是false呀
public static boolean getObjectByKey(String bucketName, String objectKey,
String path) {
log.info("S3Utils getObjectByKey key={}", objectKey);
// 1.从 S3 获取文件
GetObjectRequest objectRequest = GetObjectRequest
.builder()
.key(objectKey)
.bucket(bucketName)
.build();
try (S3Client s3Client = S3Utils.createS3Client(S3Utils.REGION, null);
ResponseInputStream<GetObjectResponse> responseInputStream = s3Client.getObject(objectRequest);
FileOutputStream fileOutputStream = new FileOutputStream(path)) {
String eTag = responseInputStream.response().eTag().replaceAll("\"", "");
log.info("eTag={}", eTag);
// 2.下载文件到临时目录
byte[] bufferByte = new byte[STREAM_BUFFER_LENGTH];
int len;
while ((len = responseInputStream.read(bufferByte)) != -1) {
fileOutputStream.write(bufferByte, 0, len);
}
fileOutputStream.flush();
// 3.验证文件的完整性
boolean validateResult = validateFile(path, eTag);
if (validateResult) {
return true;
}
} catch (Exception e) {
log.error("deleteObjectByKey error", e);
}
// 4.如果验证失败,删除文件
FileUtils.deleteFile(path);
return false;
}