作为我的 Web 服务的一部分,我有一个图片存储库,它从 Amazon S3(一个数据存储)检索图像然后返回它。这是执行此操作的方法的外观:
File getPicture(String path) throws IOException {
File file = File.createTempFile(path, ".png");
S3Object object = s3Client.getObject(new GetObjectRequest(bucketName, path));
IOUtils.copy(object.getObjectContent(), new FileOutputStream(file));
return file;
}
问题是从服务获得响应需要太长时间——(下载一个 3MB 的图像需要 7.5 秒)。我注意到,如果我注释掉 IOUtils.copy() 行,响应时间会明显加快,所以一定是导致这种延迟的特定方法。
我在几乎所有将 S3Object 转换为文件的现代示例中都使用过这种方法,但我似乎是一个独特的案例。我在这里错过了一个技巧吗?
感谢任何帮助!