Java 使用RESTAPI将文件上载到s3 bucket
使用S3SDK进行此操作使其变得简单。但是,我们希望使用S3RESTAPI(阅读本文的一些优点) 我已经阅读了S3API文档,发现很难使用它编写代码。我完全不熟悉这种类型的编码,它使用请求参数、请求头、响应头、授权、错误代码、ACL等。它还提供了示例,但找不到如何使用这些示例和进行编码的方法Java 使用RESTAPI将文件上载到s3 bucket,java,amazon-s3,Java,Amazon S3,使用S3SDK进行此操作使其变得简单。但是,我们希望使用S3RESTAPI(阅读本文的一些优点) 我已经阅读了S3API文档,发现很难使用它编写代码。我完全不熟悉这种类型的编码,它使用请求参数、请求头、响应头、授权、错误代码、ACL等。它还提供了示例,但找不到如何使用这些示例和进行编码的方法 任何人都可以帮助我从哪里开始和结束,这样我就可以使用API为S3上的所有CRUD操作编写代码。上载图像文件的示例将帮助我更好地理解。如果您使用S3服务,您将更好地了解S3服务的工作原理。下面是一些如何使用S
任何人都可以帮助我从哪里开始和结束,这样我就可以使用API为S3上的所有CRUD操作编写代码。上载图像文件的示例将帮助我更好地理解。如果您使用S3服务,您将更好地了解S3服务的工作原理。下面是一些如何使用S3服务从S3服务器创建上载删除文件的示例:- (一) (二)
下面简要介绍了它的工作原理。我将在下面介绍一些基本的代码片段,您可以轻松地将其集成到代码中 获取s3客户端:
private AmazonS3 getS3Client() {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(credentials)
.withAccelerateModeEnabled(true).withRegion(Regions.US_EAST_1).build();
return s3Client;
}
正在上载文件:
public void processOutput(FileServerDTO fileRequest) {
try {
AmazonS3 s3Client = getS3Client();
s3Client.putObject(fileRequest.getBucketName(), fileRequest.getKey(), fileRequest.getFileContent(), null);
} catch (Exception e) {
logger.error("Exception while uploading file" + e.getMessage());
throw e;
}
}
下载文件:
public byte[] downloadFile(FileServerDTO fileRequest) {
AmazonS3 s3Client = getS3Client();
S3Object s3object = s3Client.getObject(new GetObjectRequest(fileRequest.getBucketName(), fileRequest.getKey()));
S3ObjectInputStream inputStream = s3object.getObjectContent();
try {
return FileCopyUtils.copyToByteArray(inputStream);
} catch (Exception e) {
logger.error("Exception while downloading file" + e.getMessage());
}
return null;
}
FileServerDTO包含与文件信息相关的基本属性。
您可以轻松地在服务中使用这些util方法。处理S3API是一件令人头痛的事情。如果可能,我建议使用jets3t库。sCom:请参考我提供给@JOE DAIRavindra的评论:请参考我提供给@JOE DAI的评论