问题描述
我目前正在使用AWS开发工具包将文件从Java服务器上载到S3存储桶中。在我的本地计算机中,文件可以正确上载并且可以访问。但是当我对我的应用程序进行dockerize并在Fargate中运行时,所有文件都开始了我上传的文件损坏了。
我发现您必须在API网关中允许多部分/表单数据,但是即使问题仍然存在,任何帮助之手也将不胜感激
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().build();
ObjectMetadata Metadata = new ObjectMetadata();
Metadata.setContentdisposition("inline");
Metadata.setContentLength(file.length());
InputStream targetStream = new FileInputStream(file);
Metadata.setContentType("image/jpeg");
PutObjectRequest request = new PutObjectRequest(bucketName,bucketFolderName + attachmentName,file);
request.setMetadata(Metadata);
s3Client.putObject(request.withCannedAcl(CannedAccessControlList.PublicRead));
解决方法
我发现了问题,每次更新API Gateway时都必须再次部署