gpt4 book ai didi

java - 将多部分文件上传到 AWS 而无需在本地保存

转载 作者:搜寻专家 更新时间:2023-11-01 02:36:20 24 4
gpt4 key购买 nike

我编写了一个接受 MultipartFile 的 Rest API。我想将传入的文件上传到 Amazon S3。问题是除了先将其保存到本地系统然后再将其上传到 S3 之外,我不知道其他方法。有什么办法吗?

现在,在本地保存文件时出现问题,我正在寻找解决方法:Multipart transferTo looks for a wrong file address when using createTempFile

最佳答案

是的,你可以这样做。使用 putObjectInputStream 作为参数。这是示例代码。

public void saveFile(MultipartFile multipartFile) throws AmazonServiceException, SdkClientException, IOException {
ObjectMetadata data = new ObjectMetadata();
data.setContentType(multipartFile.getContentType());
data.setContentLength(multipartFile.getSize());
BasicAWSCredentials creds = new BasicAWSCredentials("accessKey", "secretKey");
AmazonS3 s3client = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_2).withCredentials(new AWSStaticCredentialsProvider(creds)).build();
PutObjectResult objectResult = s3client.putObject("myBucket", multipartFile.getOriginalFilename(), multipartFile.getInputStream(), data);
System.out.println(objectResult.getContentMd5()); //you can verify MD5
}

您可以找到 javadoc here

关于java - 将多部分文件上传到 AWS 而无需在本地保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50248710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com