当我从本地浏览器调用 API 时,我必须将 zip 文件从 S3 存储桶复制到 EC2。 API 在 EC2 实例中运行。现在我将 zip 文件下载到我的本地系统而不是 EC2,因为我从本地调用 API。如何将返回 ZIP 文件的 Java API 方法的输出重定向到 EC2 实例?
步骤 1:Java REST API 在 EC2 中运行 Step2:从本地浏览器调用API(传递文件名) 第三步:API 正在将 zip 文件从 S3 存储桶下载到本地。我想将此文件下载到 EC2 而不是运行应用程序的本地系统。 如何做到这一点?
我在 EC2 中运行的 Java 文件:
BasicAWSCredentials credentials = new BasicAWSCredentials(this.keyID, this.keySecret);
final AmazonS3 s3client = AmazonS3ClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.AP_SOUTH_1)
.build();
S3Object object = s3client.getObject(this.bucketName,key);
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(object.getObjectMetadata()
.getContentType()))
.header(Headers.CONTENT_DISPOSITION,"attachment;filename=\""+key+"\"")
.body(new ByteArrayResource(object.getObjectContent()
.readAllBytes()));
这里的返回输出是从它调用的地方返回到本地系统。但我希望将输出 zip 下载到运行 API 实例的 EC2。你能帮忙看看怎么做吗?